3

我自己制作了SyncAdatper将我的应用程序的联系人添加到手机上的联系人。现在一切正常(图片、状态、自定义操作等),除了存在状态。

根据谷歌:

由于存在状态本质上是易变的,因此内容提供者可以选择不将该字段存储在长期存储中。

所以,我不知道如何一直保持联系人的存在。更新光标内部存在的代码是

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());

绿点出现,但如果我离开联系人屏幕并在短时间内(秒)返回,“有时”绿点不再存在。

我能做些什么来解决这个问题吗?

4

1 回答 1

0

我的猜测是,当您的应用程序被操作系统停止时,它不再推送存在状态。

于 2013-09-25T07:22:16.593 回答