9

我需要覆盖哪些可能的意图过滤器,以确保任何请求图像的外部应用程序都能在列表中看到我的应用程序?

为了澄清,我希望我的应用程序在执行以下操作时出现:

在此处输入图像描述 在此处输入图像描述

到目前为止,我已经介绍了:

<intent-filter>
    <action android:name="android.intent.action.PICK" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="image/*" />
</intent-filter>
<intent-filter>
    <action android:name="android.intent.action.GET_CONTENT" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="image/*" />
</intent-filter>

但是,如果使用 Tumblr 应用并按下“添加照片”,我的应用不会出现在选择器对话框中。我错过了哪个过滤器?

4

4 回答 4

9

我已经介绍了正确的意图过滤器,但是 Tumblr 应用程序需要 OPENABLE 类别,所以我现在使用的不是我拥有的过滤器:

<intent-filter>
    <action android:name="android.intent.action.PICK" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="image/*" />
</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/*" />
</intent-filter>

仅添加以下行:

<category android:name="android.intent.category.OPENABLE" />
于 2012-08-31T05:22:56.973 回答
1

有些应用程序可能会指定要打开的应用程序,有些应用程序已经将默认应用程序设置为打开。

于 2012-08-31T05:45:04.897 回答
0

共享功能使用以下意图过滤器

<intent-filter>
    <action android:name="android.intent.action.SEND" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="image/*" />
</intent-filter>

请记住,这并不意味着应用程序正在请求照片,而是它想将照片发送到某个地方。

于 2012-08-31T03:42:15.453 回答
0

使用这个<intent-filter>

<intent-filter
    android:icon="@drawable/icon"
    android:label="Share to my app">
    <action android:name="android.intent.action.SEND" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="image/*" />
</intent-filter>
于 2012-08-31T04:25:11.323 回答