我的活动可以显示图片库,我想定义一个“意图过滤器”,表明我的应用可以打开多个图像。例如,在用户拍照并想要浏览它之后,选择器对话框应该提出我的应用程序。
我知道清单中的这段代码只适用于一张图片:
<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
答案 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