5

我正在编写一个使用相机的应用程序。我想发布一个允许用户用线条和文本注释结果图像的意图,并且我想为用户提供他们可以使用的适当图像编辑应用程序的列表,但我遇到了这些问题:1。当我执行此代码时,并非所有图像编辑应用程序都出现在列表中:

editIntent = new Intent();
editIntent.setAction(Intent.ACTION_EDIT);
Uri imageToEditUri = selectedPhotoLocation;  // Uri of existing photo
String imageToEditMimeType = "image/*";
editIntent.setDataAndType(imageToEditUri, imageToEditMimeType);
startActivityForResult(Intent.createChooser(editIntent,"Edit Image"), IMPLICIT_EDIT_IMAGE);

Is there a way to get a list of apps that will respond to Intent.ACTION_EDIT?

2. PS Express 是我发现的唯一一个在 data.getDate() 中返回编辑图像的 Uri 的应用程序 Uri 返回到 OnActivityResult(),其他应用程序用户被迫保存、记住位置并重新选择编辑后的图像。

Is there a way to know what apps return the Uri of the image to OnActivityResult()
4

2 回答 2

4

执行此代码时,并非所有图像编辑应用程序都出现在列表中

仅仅因为应用程序实现了图像编辑并不一定意味着它被设置为允许第三方链接到他们的图像编辑活动。

有没有办法获取将响应 Intent.ACTION_EDIT 的应用程序列表?

如果您的意思是要在运行时以编程方式执行此操作,请参阅 Jedil 的回答。

有没有办法知道哪些应用程序将图像的 Uri 返回到 OnActivityResult()

不,除了那些有关于开发人员应该如何与它们集成的文档的应用程序。

于 2012-07-23T15:35:53.243 回答
3

第一个问题答案:
试试queryIntentActivities

Intent editIntent = new Intent(android.content.Intent.ACTION_EDIT);
List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(editIntent, 0);
于 2012-07-23T15:32:22.377 回答