在小于7的Android版本上不显示Contatc自定义MimeType

时间:2017-06-29 09:15:07

标签: android android-contacts android-contact-mimetype

我正在尝试修改设备上现有的联系人。

我已经在this指南/示例和this之后实现了所有相关内容(AuthenticationService,AbstractThreadedSyncAdapter,SyncService,AbstractAccountAuthenticator等)。

一切正常,我的三星Galaxy S7有Android 7:现在我的联系人有一个新的自定义功能,如果我选择它,我的应用程序的活动就会启动。这是完成创建contacts.xml文件和使用自定义MIMETYPE(如上面的链接中所述)。

不幸的是,这种方法似乎不适用于运行Android版本< 7.虽然一切似乎都正常工作且没有检测到错误,但我的自定义功能未显示。

如果有人知道有关它的事情,那将是一个很大的帮助。

提前致谢。

2 个答案:

答案 0 :(得分:0)

  1. 我假设&#34 ;;"在您的contacts.xml中是一个拼写错误,或者您的项目不会编译
  2. 尝试从您的contacts.xml中删除android:detailSocialSummary行,因为我知道的大部分示例都没有
  3. 而不是ContactsAccountType尝试ContactsSource,请参阅this作为参考。
  4. mimetype通常不会指向您应用中的某个活动,它应该是:vnd.android.cursor.item/vnd.<your package>.<some action>但我不会认为您遇到的问题是<\ n} { / LI>

答案 1 :(得分:0)

检查Mime Type行,您必须在末尾添加.profile和/vnd..profile

<?xml version="1.0" encoding="utf-8"?>
<ContactsSource
xmlns:android="http://schemas.android.com/apk/res/android">
<ContactsDataKind
    android:mimeType="vnd.android.cursor.item/vnd.com.krishna.test.profile"
    android:icon="@mipmap/ic_launcher"
    android:summaryColumn="data2"
    android:detailColumn="data3" />
</ContactsSource>