2010-08-05 10 views
1

J'ai essayé de trouver un ou tous les bons filtres. Est-ce que quelqu'un les a? En bas, vous pouvez voir la sortie de journalisation des intentions. Peut-être qu'ils ne sont pas publics?Android Intent Filtres pour VIEW/EDIT/INSERT Contact

ont essayé ce qui suit dans mon code en vain ...

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

Répondre

0

Cela a fonctionné pour moi:

 <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

comment utiliser peut-on donner une description pour ce code. si possible, donnez un exemple simple. –

+1

Cela m'a permis de permettre à mon application de recevoir des intentions avant d'ajouter un utilisateur. Il demande au système d'exploitation de demander à l'utilisateur quelle application vous voulez utiliser lors de l'ajout d'un nouvel utilisateur. Ne fait pas ce qui est demandé dans la question originale –

-1

Ces Intent actions sont utilisées avec startActivity() et ne peuvent pas être reçus par un BroadcastReceiver .