Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.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 KitKat 4.4.2中向联系人添加自定义连接/操作时的特殊情况_Android_Action_Contacts_Android 4.4 Kitkat - Fatal编程技术网

在Android KitKat 4.4.2中向联系人添加自定义连接/操作时的特殊情况

在Android KitKat 4.4.2中向联系人添加自定义连接/操作时的特殊情况,android,action,contacts,android-4.4-kitkat,Android,Action,Contacts,Android 4.4 Kitkat,首先,谢谢你的帮助。我每天都使用stackoverflow来解决我遇到的几乎每一个代码问题,这是一个拥有优秀人才的优秀平台 对于我的问题: 我最初的目标是为Android上的联系人添加一个自定义连接(操作按钮),并在我的应用程序中执行自定义操作(例如:使用我的应用程序调用)。多亏了这篇文章,我已经成功地在大多数设备上使用了帐户和同步提供商,我的代码类似于Rene Ummels和c99.org教程的回复: 该操作在Android 4.0.4、4.3.1和4.4.3的三个测试设备中都能完美运行,如

首先,谢谢你的帮助。我每天都使用stackoverflow来解决我遇到的几乎每一个代码问题,这是一个拥有优秀人才的优秀平台

对于我的问题:

我最初的目标是为Android上的联系人添加一个自定义连接(操作按钮),并在我的应用程序中执行自定义操作(例如:使用我的应用程序调用)。多亏了这篇文章,我已经成功地在大多数设备上使用了帐户和同步提供商,我的代码类似于Rene Ummels和c99.org教程的回复:

该操作在Android 4.0.4、4.3.1和4.4.3的三个测试设备中都能完美运行,如下所示:

问题是,从我的测试设备来看,有一个设备不工作。设备详细信息(向上)和不起作用的内容(向下):

基本上,我觉得这个版本的Android(4.4.2)处理连接的方式不同

我的自定义应用程序图标在这种情况下就像一个死按钮,你点击它,它什么也不做。我知道有可能让它执行操作,因为它旁边的Facebook按钮起作用,它会将你带到该联系人的Facebook提要

我的问题是:如何激活自定义应用程序按钮以启动此设备中的预期活动

有人有过同样的问题吗?我在网上搜索没有找到任何类似的东西

非常感谢,我希望我提供了足够的细节,有人能给我一个答案。

解决了这个问题

据我所知,问题在于命名约定

相关的位在我的ContactsSyncAdapter中,在一个类似以下的部分:

builder = ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI);
        builder.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0);
        builder.withValue(ContactsContract.Data.MIMETYPE, "vnd.android.cursor.item/com.example.precall.contact_activity");
我所要做的就是将“contact_activity”名称(我希望通过按钮访问的布局)更改为“profile”,然后将我构建的contact_activity.xml重命名为profile.xml。看起来是这样的:

builder = ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI);
        builder.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0);
        builder.withValue(ContactsContract.Data.MIMETYPE, "vnd.android.cursor.item/com.example.precall.profile");
(当然,我必须更改清单以适应此编辑)

据我所知,除非我完全错了,否则这是一个命名约定,在文档中没有出现,只是通过示例假设它应该这样命名

在我看来,在这种特殊情况下,您必须以某种方式命名您的.xml,否则它就不会是KitKat中的按钮,而只是一个死气沉沉的图像

不管怎样,如果有人遇到同样令人沮丧的问题,我希望这对他们有所帮助

:D