【发布时间】:2018-09-25 11:21:56
【问题描述】:
好的,所以我有“功能齐全”的帐户应用程序。除了 1 件事。
我的应用程序从 SQlite DB 获取数据并通过 ContactContract 创建帐户,并指定帐户名称和类型
contactsOperations.add(ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI)
.withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, static_variables.ACCOUNT_TYPE)
.withValue(ContactsContract.RawContacts.ACCOUNT_NAME, static_variables.ACCOUNT_NAME)
.withYieldAllowed(true)
.build());
在某些手机上,标准联系人应用程序中的几乎所有(和模拟器)我都看到帐户已创建,并且帐户位置按预期设置为 static_variables.ACCOUNT_NAME。
但在某些设备上,位置是“未知”(认为帐户已创建并存在),并且在某些联系人上根本不可见,但存在。
什么时候(在任何手机上)我用
检查它Cursor cursor_raw = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null, null);
我看到这些联系人最后的帐户名称和类型设置正确。
1.这是第一个问题,怎么了?
第二个不是问题,而是前一个的另一个证据。当我转到 System->Accounts-> 添加帐户时,我会看到我的帐户类型,我可以创建它。
但是当我在标准联系人应用程序中按添加联系人时,我看到“Google”、“Exchange”、“SIM”和更多但不是我的。 同样在标准应用程序中,当我选择“打开帐户设置”(自动同步所在的位置)时,我看到相同的帐户“Google”、“Exchange”、“SIM”等等,但不是我的。
所以第二个
2。什么帐户/内容提供者/或其他什么是错误的。我没有添加帐户中的哪些选项,因此帐户并非在所有地方都可见?
【问题讨论】:
标签: android contactscontract accountmanager