我创建了一个自定义account_type(com.axonsystem.kangoosave)并且工作正常。此外,当我以编程方式在此account_type下创建联系人时,在“联系人应用程序”中(当我编辑联系人时),Android会正确显示我的自定义类型。
这是我的同步适配器
<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
android:contentAuthority="com.android.contacts"
android:accountType="com.axonsystem.kangoosave"
android:userVisible="true"
android:allowParallelSyncs="false"
android:isAlwaysSyncable="true"
android:supportsUploading="false" />
我的服务提供SyncAdapter
<service
android:name="com.axonsystem.kangoosave.services.AccountSyncService"
android:exported="true"
android:enabled="true"
android:process=":sync">
<intent-filter>
<action android:name="android.content.SyncAdapter"/>
</intent-filter>
<meta-data android:name="android.content.SyncAdapter"
android:resource="@xml/syncadapter"/>
<meta-data android:name="android.provider.CONTACTS_STRUCTURE"
android:resource="@xml/contacts" />
</service>
我的帐户验证员
<?xml version="1.0" encoding="utf-8"?>
<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
android:accountType="com.axonsystem.kangoosave"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:smallIcon="@drawable/ic_launcher"
android:accountPreferences="@xml/account_preferences"/>
现在,我希望在创建新联系人(例如Google帐户等)时,我的自定义类型会显示在“通讯录活动”中,即使在&#34;要显示的联系人&#34;的菜单中也是如此。它是poosible?有人有关于此的一些信息吗?我在这一点上无法取得成功..
提前谢谢
答案 0 :(得分:1)
我的第一个猜测是,您必须将同步适配器xml中的android:supportsUploading="false"
更改为android:supportsUploading="true"
,否则该帐户可能被视为只读(这是在Android中处理的方式) 2.x,我认为情况可能仍然如此)。
同样重要的是,您的xml/contacts
文件定义了非空联系人架构,请查看test_basic_contacts.xml以获取完整示例。空的EditSchema基本上意味着不能编辑任何字段,这意味着该帐户也是只读的(因此您无法创建联系人)。