2

我在account&sync中添加了一个账户,ContactsSource的xml如下,在android2.3上可以正常工作,但是在android4.0.3上,“android:icon”和“android:summaryColumn”字段不能工作。在联系人详细信息页面在地址簿中,连接部分显示帐户的图标,而不是“@drawable/icon_bb”,摘要列显示帐户名称,而不是 xml 中的“data2”。

<ContactsDataKind
    android:mimeType="vnd.android.cursor.item/vnd.com.android.bb.profile"
    android:icon="@drawable/icon_bb"
    android:summaryColumn="data2"
    android:detailColumn="data3"
    android:detailSocialSummary="true" />

4

2 回答 2

0

这里有两个调整:

第一个你必须换成冰淇淋三明治detailColumnsummaryColumn只需将另一个 contacts.xml 放入 res/xml-v14 文件夹

<ContactsDataKind
 ...
 android:summaryColumn="data3"
 android:detailColumn="data2"
 ... />

第二要使图标工作,您必须为意图过滤器设置图标AndroidManifest.xml

<intent-filter android:icon="@drawable/icon_bb" >
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="vnd.android.cursor.item/vnd.com.android.bb.profile"/>
</intent-filter>
于 2013-06-06T09:49:26.223 回答
0

首先,您需要添加<ContactsAccountType>以下内容:( viewStreamItemActivity="com.test.Activity"这是您的活动的完整路径,当用户单击该行项目时将接收该意图)。样本:

<ContactsAccountType xmlns:android="http://schemas.android.com/apk/res/android" viewStreamItemActivity="com.test.Activity">

  <ContactsDataKind android:mimeType="vnd.android.cursor.item/vnd.com.android.bb.profile" android:icon="@drawable/icon_bb" android:summaryColumn="data2" android:detailColumn="data3" android:detailSocialSummary="true" />

</ContactsAccountType>

一旦你有了这个,你需要在清单中为活动中的图标添加一个意图过滤器(com.test.Activity)。样本:

<activity android:name=".Activity" android:label="@string/title_activity_main">
  <intent-filter android:icon="@drawable/icon_bb">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="vnd.android.cursor.item/vnd.com.android.bb.profile" />
  </intent-filter>
</activity>
于 2015-03-22T23:43:04.273 回答