将您的应用程序强制添加到应用程序选择器中

时间:2014-05-27 16:23:25

标签: android android-intent

在我深入研究这个问题之前,我先给大家概述一下。电子邮件中有一些文件(图像和pdf)(比如Gmail)。当用户点击某个mime类型的文件时,比如image / jpeg,我想将我的应用程序添加到应用程序选择器中。

所以这是我的清单。

<activity
        android:name="MyActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
        android:label="@string/app_name"
        android:launchMode="singleTop"
        android:alwaysRetainTaskState="true"
        android:windowSoftInputMode="stateHidden">

        <intent-filter>
            <action android:name="android.intent.action.PICK"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <data android:mimeType="image/jpeg"/>
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.GET_CONTENT" />
            <category android:name="android.intent.category.DEFAULT"/>
            <category android:name="android.intent.category.OPENABLE"/>
            <data android:mimeType="image/jpeg"/>
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:host="*" android:mimeType="application/pdf" android:scheme="" android:pathPattern=".*/.pdf" /> 
            <data android:mimeType="application/pdf"/>
        </intent-filter>
 </activity>

我尝试了意图过滤器。尝试了三种不同的方式。没有任何效果。该应用程序没有出现在应用程序选择器中。我缺少什么吗? 请分享您的想法!

1 个答案:

答案 0 :(得分:1)

试试这个:

<activity
    android:name="MyActivity"
    android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
    android:label="@string/app_name"
    android:launchMode="singleTop"
    android:alwaysRetainTaskState="true"
    android:windowSoftInputMode="stateHidden">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="file" />
            <data android:host="*" />
            <data android:pathPattern=".*\\.pdf" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="file" />
            <data android:host="*" />
            <data android:mimeType="image/jpeg" />
        </intent-filter>
</activity>