用于查看/编辑/插入联系人的 Android Intent 过滤器

问题描述 投票:0回答:1

我一直在努力寻找一个或所有合适的过滤器。有人有吗?在底部您可以看到意图的日志输出。也许它们不是公开的?

在我的代码中尝试了以下方法但无济于事......

  <receiver android:name=".ContactsBroadcastReceiver" android:label="@string/broadcast_receiver_name" android:enabled="true">
       <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="vnd.android.cursor.dir/person" android:host="contacts" />
            <data android:mimeType="vnd.android.cursor.dir/contact" android:host="com.android.contacts" />
        </intent-filter>
        <intent-filter>
            <action android:name="com.android.contacts.action.LIST_DEFAULT" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.TAB" />
        </intent-filter>

        <intent-filter>
            <action android:name="com.android.contacts.action.LIST_CONTACTS" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.TAB" />
        </intent-filter>

        <intent-filter>
            <action android:name="com.android.contacts.action.LIST_ALL_CONTACTS" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.TAB" />
        </intent-filter>

        <intent-filter>
            <action android:name="com.android.contacts.action.LIST_CONTACTS_WITH_PHONES" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.TAB" />
        </intent-filter>

        <intent-filter android:label="@string/starredList">
            <action android:name="com.android.contacts.action.LIST_STARRED" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.TAB" />
        </intent-filter>

        <intent-filter android:label="@string/frequentList">
            <action android:name="com.android.contacts.action.LIST_FREQUENT" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.TAB" />
        </intent-filter>

        <intent-filter android:label="@string/strequentList">
            <action android:name="com.android.contacts.action.LIST_STREQUENT" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.TAB" />
        </intent-filter>

        <intent-filter>
            <action android:name="android.intent.action.INSERT_OR_EDIT" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="vnd.android.cursor.item/person" />
            <data android:mimeType="vnd.android.cursor.item/contact" />
            <data android:mimeType="vnd.android.cursor.item/raw_contact" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.EDIT" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="content" android:host="com.android.contacts" android:pathPrefix="raw_contacts" 
             android:mimeType="vnd.android.cursor.dir/contact"/>
        </intent-filter>
        <intent-filter>
            <action android:name="com.android.contacts.action.SHOW_OR_CREATE_CONTACT" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="content" android:host="com.android.contacts" android:path="contacts" 
             android:mimeType="vnd.android.cursor.dir/contact"/>
        </intent-filter>
        <intent-filter>
            <action android:name="com.android.contacts.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="content" android:host="com.android.contacts" android:pathPrefix="contacts" 
             android:mimeType="vnd.android.cursor.dir/contact"/>
        </intent-filter>
        <intent-filter>
            <action android:name="com.android.contacts.action.INSERT" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="content" android:host="com.android.contacts" android:path="contacts" 
             android:mimeType="vnd.android.cursor.dir/contact"/>
            <!--
            I/ActivityManager( 1212): Starting activity: Intent { act=android.intent.action.VIEW dat=content://com.android.contacts/contacts flg=0x10000000 cmp=com.android.contacts/.DialtactsContactsEntryActivity bnds=[324,598][480,718] }
            I/ActivityManager( 1212): Starting activity: Intent { act=android.intent.action.EDIT dat=content://com.android.contacts/raw_contacts/26 cmp=android/com.android.internal.app.ResolverActivity }
            I/ActivityManager( 1212): Starting activity: Intent { act=android.intent.action.INSERT dat=content://com.android.contacts/contacts cmp=com.android.contacts/.ui.EditContactActivity }
             -->
        </intent-filter>
  </receiver>   
android filter view android-intent contacts
1个回答
0
投票

这对我有用:

        <intent-filter android:label="Edit Contact">
            <action android:name="android.intent.action.EDIT" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="vnd.android.cursor.item/person"
                android:host="contacts" />
            <data android:mimeType="vnd.android.cursor.item/contact"
                android:host="com.android.contacts" />
            <data android:mimeType="vnd.android.cursor.item/raw_contact"
                android:host="com.android.contacts" />
        </intent-filter>
        <intent-filter android:label="Create Contact">
            <action android:name="android.intent.action.INSERT" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="vnd.android.cursor.dir/person" />
            <data android:mimeType="vnd.android.cursor.dir/contact" />
            <data android:mimeType="vnd.android.cursor.dir/raw_contact" />
        </intent-filter>
        <intent-filter android:label="View Contact">
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="vnd.android.cursor.item/person"
                android:host="contacts" />
            <data android:mimeType="vnd.android.cursor.item/contact"
                android:host="com.android.contacts" />
            <data android:mimeType="vnd.android.cursor.item/raw_contact"
                android:host="com.android.contacts" />
        </intent-filter>
© www.soinside.com 2019 - 2024. All rights reserved.