在我深入研究这个问题之前,我先给大家概述一下。电子邮件中有一些文件(图像和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>
我尝试了意图过滤器。尝试了三种不同的方式。没有任何效果。该应用程序没有出现在应用程序选择器中。我缺少什么吗? 请分享您的想法!
答案 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>