Мы внедрили Android Account Manager и Sync Manager API для создания синхронизации контактов. Но когда пользователь выбирает нашу учетную запись при добавлении контакта, отображаются только поля имени, а все остальные поля исчезают.
Вот что у меня есть в моем манифесте
<activity android:name=".AuthenticatorActivity" android:label="iAnywhere Login"
android:theme="@android:style/Theme.Dialog"
android:excludeFromRecents="true"></activity>
<service android:name=".accounts.AuthenticationService">
<intent-filter>
<action android:name="android.accounts.AccountAuthenticator"></action>
</intent-filter>
<meta-data android:name="android.accounts.AccountAuthenticator"
android:resource="@xml/authenticator">
</meta-data>
</service>
<service
android:name=".accounts.SyncService"
android:exported="true">
<intent-filter>
<action
android:name="android.content.SyncAdapter" />
</intent-filter>
<meta-data
android:name="android.content.SyncAdapter"
android:resource="@xml/syncadapter" />
</service>
Это то, что у меня есть в моих файлах syncadapter.xml и authentication.xml.
<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
android:contentAuthority="com.android.contacts"
android:accountType="com.rahul.utility.contacts"
/>
Видел, как люди говорили об этой проблеме при добавлении настраиваемых полей, что это ошибка в приложении «Контакты». Я также проверил код почтового клиента Exchange в исходном коде Android, и, похоже, они делают то же самое, что и я, но все же, когда вы выбираете «Добавить контакт» для учетной записи Exchange, отображаются все поля в контакте.