【发布时间】:2012-01-29 21:53:07
【问题描述】:
我正在使用:
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("image/jpeg");
(...)
分享在我的应用程序中生成的图像。我想将自定义操作(将图像保存到图库)添加到由
创建的意图Intent.createChooser(i, "...");
我正在考虑为 android.intent.action.SEND 操作添加带有意图过滤器的活动,但这将使我的活动可见并可供所有应用程序使用。我可以将 setType("image/jpeg") 更改为 setType("image/*") 并添加
<data android:mimeType="image/foobar">
intent-filter,但这将使我的活动对所有请求 image/* 的应用程序可见。
有没有办法通过调用程序包名称(或其他可以区分我的应用程序与其他应用程序的名称)过滤操作可见性?
【问题讨论】:
-
更好的解决方案是滚动您自己的选择器对话框,通过您自己的手动内容和从
PackageManager调用queryIntentActivities()的结果填充。