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" />
</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>
User contributions licensed under CC BY-SA 3.0