Состояние присутствия на пользовательских контактах исчезает через короткое время - PullRequest
3 голосов
/ 24 мая 2011

Я сделал свой собственный SyncAdatper, чтобы добавить контакты моего приложения к контактам на телефоне.Теперь все работает (изображение, статус, настраиваемое действие и т. Д.), За исключением статуса присутствия.

Согласно Google:

Поскольку статус присутствия по своей природе является изменчивым, поставщик контента может выбратьне хранить это поле в долговременном хранилище.

Итак, я не знаю, как постоянно сохранять присутствие на контактах.Код для обновления присутствия внутри курсора:

ContentProviderOperation.Builder builder = ContentProviderOperation.newInsert(ContactsContract.StatusUpdates.CONTENT_URI);
builder.withValue(ContactsContract.StatusUpdates.DATA_ID, c.getLong(1));
builder.withValue(ContactsContract.StatusUpdates.STATUS, status);
builder.withValue(ContactsContract.StatusUpdates.STATUS_RES_PACKAGE, "ar.com.indiesoftware.ps3trophies");
builder.withValue(ContactsContract.StatusUpdates.STATUS_LABEL, R.string.app_name);
builder.withValue(ContactsContract.StatusUpdates.STATUS_ICON, R.drawable.alltrophies);

builder.withValue(ContactsContract.StatusUpdates.PROTOCOL, Im.PROTOCOL_CUSTOM);
builder.withValue(ContactsContract.StatusUpdates.CUSTOM_PROTOCOL, "PS3SyncAdapter");
builder.withValue(ContactsContract.StatusUpdates.IM_ACCOUNT, username);
builder.withValue(ContactsContract.StatusUpdates.IM_HANDLE, username);
builder.withValue(ContactsContract.StatusUpdates.PRESENCE, ContactsContract.StatusUpdates.AVAILABLE);

builder.withValue(ContactsContract.StatusUpdates.STATUS_TIMESTAMP, System.currentTimeMillis());
operationList.add(builder.build());

Зеленая точка появляется, но если я покидаю экран контактов и возвращаюсь через короткий промежуток времени (секунд), «иногда» зеленая точка нетам больше.

Есть ли что-то, что я могу сделать, чтобы решить это?

1 Ответ

0 голосов
/ 25 сентября 2013

Я предполагаю, что когда ваше приложение остановлено операционной системой, оно больше не отправляет статус присутствия.

...