Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Android联系人应用程序编辑由自定义内容提供商添加的原始联系人_Android_Android Intent_Android Contentprovider_Android Contacts - Fatal编程技术网

使用Android联系人应用程序编辑由自定义内容提供商添加的原始联系人

使用Android联系人应用程序编辑由自定义内容提供商添加的原始联系人,android,android-intent,android-contentprovider,android-contacts,Android,Android Intent,Android Contentprovider,Android Contacts,我的应用程序使用自定义的ContentProvider将联系人“Bob”添加到通讯簿中。 在Android联系人应用程序中,Bob与任何其他(谷歌)联系人一样出现。但是当我在Contacts应用程序中编辑Bob时,我的应用程序提供的数据是不可编辑的。到目前为止还不错 我的问题是:在我的应用程序中,是否有办法启动联系人应用程序,允许用户编辑属于我的应用程序的Bob部分 我已尝试使用相应的意图,如本文所述,但使用Bob的原始联系人uri: 这会打开联系人应用程序,但仍然无法编辑Bob的数据 关于SO

我的应用程序使用自定义的
ContentProvider
将联系人“Bob”添加到通讯簿中。 在Android联系人应用程序中,Bob与任何其他(谷歌)联系人一样出现。但是当我在Contacts应用程序中编辑Bob时,我的应用程序提供的数据是不可编辑的。到目前为止还不错

我的问题是:在我的应用程序中,是否有办法启动联系人应用程序,允许用户编辑属于我的应用程序的Bob部分

我已尝试使用相应的
意图
,如本文所述,但使用Bob的原始联系人uri:

这会打开联系人应用程序,但仍然无法编辑Bob的数据

关于SO,有很多问题,包括如何或。

但我没有找到任何声明,包括一个引用,如果可以使用Contacts应用程序让用户编辑自定义原始联系人。是否有人有线索,最好是参考资料?

您需要将EditSchema添加到contact.xml文件中,并添加元数据,指向清单文件的SyncService部分中的该文件,如下所示:

<service
    android:name=".syncadapter.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" />
    <meta-data
        android:name="android.provider.CONTACTS_STRUCTURE"
        android:resource="@xml/contacts" />
</service>

<service
    android:name=".syncadapter.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" />
    <meta-data
        android:name="android.provider.CONTACTS_STRUCTURE"
        android:resource="@xml/contacts" />
</service>