Android:意图查看多个图像

时间:2011-07-07 12:06:04

标签: android intentfilter

我的活动可以显示图片库,我想定义一个“意图过滤器”,表明我的应用可以打开多个图像。例如,在用户拍照并想要浏览它之后,选择器对话框应该提出我的应用程序。

我知道清单中的这段代码只适用于一张图片:

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

但它对几张图片不起作用......

我认为mimetype的值不正确...但是打开媒体提供者图像的正确mimetype是什么?

以下是查看google.note的意图过滤器示例:

<intent-filter android:label="@string/resolve_edit">
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <data android:mimeType="vnd.android.cursor.item/vnd.google.note" />
</intent-filter>

我尝试将“note”替换为“image”,但它不起作用......任何想法?

我终于得到了Gallery项目的源代码,这里是清单文件:https://android.googlesource.com/platform/packages/apps/Gallery/+/master/AndroidManifest.xml

<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="vnd.android.cursor.dir/image"/>
</intent-filter>

但它在我的Nexus S上无论如何都不起作用......

我在Android开发者网站上发现了这个:

  

对于多个记录:

vnd.android.cursor.dir/vnd.yourcompanyname.contenttype
  

例如,对所有列车记录的请求,如以下URI,

content://com.example.transportationprovider/trains
  

可能会返回此MIME类型:

vnd.android.cursor.dir/vnd.example.rail

1 个答案:

答案 0 :(得分:0)

默认的Image Viewer没有公开这样的API。并且格式或数据因应用程序而异。对于每个应用程序,没有一个通用的解决方案。

最好的方法,也许是自己编写一个小活动,它暴露出一个Uris数组的意图,并显示所有这些图像的缩略图。

单击缩略图时,可以启动单个图像意图以查看该特定图像。


你走了:

<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.dir/image" />

从Android源代码中获取。应该先看看那里。

https://android.googlesource.com/platform/packages/apps/Gallery3D/+/master/AndroidManifest.xml