Android的意图过滤器查看/编辑/插入联系 [英] Android Intent Filters for VIEW/EDIT/INSERT Contact

查看:283
本文介绍了Android的意图过滤器查看/编辑/插入联系的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在试图找到一个或所有正确的过滤器。有没有人有他们吗?唐氏在底部,你可以看到意图的日志输出。也许他们都没有公开?

试过在我的code以下无果......

 <接收机器人:ContactsBroadcastReceiver名称=机器人:标签=@字符串/ broadcast_receiver_name机器人:启用=真正的>
       <意向滤光器>
            <作用机器人:名称=android.intent.action.VIEW/>
            <类机器人:名称=android.intent.category.DEFAULT/>
            <数据机器人:MIMETYPE =vnd.android.cursor.dir /人机器人:主机=接触/>
            <数据机器人:MIMETYPE =vnd.android.cursor.dir /接触机器人:主机=com.android.contacts/>
        &所述; /意图滤光器>
        <意向滤光器>
            <作用机器人:名称=com.android.contacts.action.LIST_DEFAULT/>
            <类机器人:名称=android.intent.category.DEFAULT/>
            <类机器人:名称=android.intent.category.TAB/>
        &所述; /意图滤光器>

        <意向滤光器>
            <作用机器人:名称=com.android.contacts.action.LIST_CONTACTS/>
            <类机器人:名称=android.intent.category.DEFAULT/>
            <类机器人:名称=android.intent.category.TAB/>
        &所述; /意图滤光器>

        <意向滤光器>
            <作用机器人:名称=com.android.contacts.action.LIST_ALL_CONTACTS/>
            <类机器人:名称=android.intent.category.DEFAULT/>
            <类机器人:名称=android.intent.category.TAB/>
        &所述; /意图滤光器>

        <意向滤光器>
            <作用机器人:名称=com.android.contacts.action.LIST_CONTACTS_WITH_PHONES/>
            <类机器人:名称=android.intent.category.DEFAULT/>
            <类机器人:名称=android.intent.category.TAB/>
        &所述; /意图滤光器>

        <意图过滤器的Andr​​oid版本:标签=@字符串/ starredList>
            <作用机器人:名称=com.android.contacts.action.LIST_STARRED/>
            <类机器人:名称=android.intent.category.DEFAULT/>
            <类机器人:名称=android.intent.category.TAB/>
        &所述; /意图滤光器>

        <意图过滤器的Andr​​oid版本:标签=@字符串/ frequentList>
            <作用机器人:名称=com.android.contacts.action.LIST_FREQUENT/>
            <类机器人:名称=android.intent.category.DEFAULT/>
            <类机器人:名称=android.intent.category.TAB/>
        &所述; /意图滤光器>

        <意图过滤器的Andr​​oid版本:标签=@字符串/ strequentList>
            <作用机器人:名称=com.android.contacts.action.LIST_STREQUENT/>
            <类机器人:名称=android.intent.category.DEFAULT/>
            <类机器人:名称=android.intent.category.TAB/>
        &所述; /意图滤光器>

        <意向滤光器>
            <作用机器人:名称=android.intent.action.INSERT_OR_EDIT/>
            <类机器人:名称=android.intent.category.DEFAULT/>
            <数据机器人:MIMETYPE =vnd.android.cursor.item /人/>
            <数据机器人:MIMETYPE =vnd.android.cursor.item /接触/>
            <数据机器人:MIMETYPE =vnd.android.cursor.item / raw_contact/>
        &所述; /意图滤光器>
        <意向滤光器>
            <作用机器人:名称=android.intent.action.EDIT/>
            <类机器人:名称=android.intent.category.DEFAULT/>
            <数据机器人:计划=内容机器人:主机=com.android.contacts机器人:路径preFIX =raw_contacts
             机器人:MIMETYPE =vnd.android.cursor.dir /接触/>
        &所述; /意图滤光器>
        <意向滤光器>
            <作用机器人:名称=com.android.contacts.action.SHOW_OR_CREATE_CONTACT/>
            <类机器人:名称=android.intent.category.DEFAULT/>
            <数据机器人:计划=内容机器人:主机=com.android.contacts机器人:路径=接触
             机器人:MIMETYPE =vnd.android.cursor.dir /接触/>
        &所述; /意图滤光器>
        <意向滤光器>
            <作用机器人:名称=com.android.contacts.action.VIEW/>
            <类机器人:名称=android.intent.category.DEFAULT/>
            <数据机器人:计划=内容机器人:主机=com.android.contacts机器人:路径preFIX =接触
             机器人:MIMETYPE =vnd.android.cursor.dir /接触/>
        &所述; /意图滤光器>
        <意向滤光器>
            <作用机器人:名称=com.android.contacts.action.INSERT/>
            <类机器人:名称=android.intent.category.DEFAULT/>
            <数据机器人:计划=内容机器人:主机=com.android.contacts机器人:路径=接触
             机器人:MIMETYPE =vnd.android.cursor.dir /接触/>
            <! - 
            I / ActivityManager(1212):启动活动:意向{行为= android.intent.action.VIEW DAT =内容://com.android.contacts/contacts FLG = 0x10000000处CMP = com.android.contacts / .DialtactsContactsEntryActivity bnds = [ 324598] [480718]}
            I / ActivityManager(1212):启动活动:意向{行为= android.intent.action.EDIT DAT =内容://com.android.contacts/raw_contacts/26 CMP =机器人/ com.android.internal.app.ResolverActivity}
            I / ActivityManager(1212):启动活动:意向{行为= android.intent.action.INSERT DAT =内容://com.android.contacts/contacts CMP = com.android.contacts / .ui.EditContactActivity}
              - >
        &所述; /意图滤光器>
  < /接收器>
 

解决方案

这为我工作:

 <意图过滤器的Andr​​oid版本:标签=编辑联系人>
            <作用机器人:名称=android.intent.action.EDIT/>
            <类机器人:名称=android.intent.category.DEFAULT/>
            <数据机器人:MIMETYPE =vnd.android.cursor.item /人
                机器人:主机=接触/>
            <数据机器人:MIMETYPE =vnd.android.cursor.item /接触
                机器人:主机=com.android.contacts/>
            <数据机器人:MIMETYPE =vnd.android.cursor.item / raw_contact
                机器人:主机=com.android.contacts/>
        &所述; /意图滤光器>
        <意图过滤器的Andr​​oid版本:标签=创建联系人>
            <作用机器人:名称=android.intent.action.INSERT/>
            <类机器人:名称=android.intent.category.DEFAULT/>
            <数据机器人:MIMETYPE =vnd.android.cursor.dir /人/>
            <数据机器人:MIMETYPE =vnd.android.cursor.dir /接触/>
            <数据机器人:MIMETYPE =vnd.android.cursor.dir / raw_contact/>
        &所述; /意图滤光器>
        <意图过滤器的Andr​​oid版本:标签=查看联系方式>
            <作用机器人:名称=android.intent.action.VIEW/>
            <类机器人:名称=android.intent.category.DEFAULT/>
            <数据机器人:MIMETYPE =vnd.android.cursor.item /人
                机器人:主机=接触/>
            <数据机器人:MIMETYPE =vnd.android.cursor.item /接触
                机器人:主机=com.android.contacts/>
            <数据机器人:MIMETYPE =vnd.android.cursor.item / raw_contact
                机器人:主机=com.android.contacts/>
        &所述; /意图滤光器>
 

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>

这篇关于Android的意图过滤器查看/编辑/插入联系的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆