У меня есть приложение, которое имеет свои собственные наборы контактов, которые поступают с сервера.Я экспортирую этот контакт в собственную базу контактов.Так что я могу получить к нему доступ из телефонной книги.Однако я хочу сделать эти контакты доступными для редактирования в нативном приложении.
Для этого я использую аутентификатор учетной записи и метод syncadapter.
Ниже приведены мои sync-adapter
xml
<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
android:contentAuthority="com.android.contacts"
android:supportsUploading="true"
android:userVisible="true"
android:accountType="com.example.myapp"
/>
Настройка android:supportsUploading="true"
Такжеэкспорт необработанных контактов и полей данных только для чтения, установив флаг ниже 0 android.provider.ContactsContract.RawContacts.RAW_CONTACT_IS_READ_ONLY
android.provider.ContactsContract.RawContacts.DATA_IS_READ_ONLY
Тем не менее я не вижу возможности редактировать мои контакты в собственном приложении.Чего здесь не хватает?
Заранее спасибо
[ОБНОВЛЕНИЕ] Я использую приведенный ниже код, чтобы проверить, какой тип учетной записи поддерживается контактами и доступен для редактирования.
final SyncAdapterType[] syncs = ContentResolver.getSyncAdapterTypes();
for (SyncAdapterType sync : syncs) {
Log.d(TAG, "found SyncAdapter: " + sync.accountType);
if (ContactsContract.AUTHORITY.equals(sync.authority)) {
Log.d(TAG, "found SyncAdapter that supports contacts: " + sync.accountType);
if (sync.supportsUploading()) {
Log.d(TAG, "found SyncAdapter that supports contacts and is not read-only: " + sync.accountType);
// we'll now get a list of all accounts under that accountType:
Account[] accounts = AccountManager.get(this).getAccountsByType(sync.accountType);
for (Account account : accounts) {
Log.d(TAG, account.type + " / " + account.name);
}
}
}
}
Мои приложениятип учетной записи не только для чтения, но по-прежнему не отображается опция редактирования.Пожалуйста, помогите