开发者

Android Intent Filters for VIEW/EDIT/INSERT Contact

I've been trying to find one or all of the right filters. Does anyone have them? Down at the bottom you can see the logging output of the intents. Perhaps they aren't public?

Have tried the following in my code to no avail...

  <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" />
   开发者_如何学Python     </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>   


This worked for me:

        <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>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜