我正在编写一个使用相机的应用程序。我希望允许用户使用行和文本注释生成的图像,并且我想向用户提供他们可以使用的适当图像编辑应用程序的列表,但我遇到了这些问题: 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()中返回ed ed图像的Uri的应用程序.Uri返回OnActivityResult(),用户被迫保存的其他应用程序,记住位置,并重新选择编辑图片。
Is there a way to know what apps return the Uri of the image to OnActivityResult()
答案 0 :(得分:4)
执行此代码时,并非所有图像编辑应用都出现在列表中
仅仅因为应用实现图像编辑并不一定意味着它被设置为允许第三方链接到他们的图像编辑活动。
有没有办法获得会响应Intent.ACTION_EDIT的应用列表?
如果您想在运行时以编程方式执行此操作,请参阅Jedil的回答。
有没有办法知道哪些应用将图像的Uri返回给OnActivityResult()
不,除了那些有开发人员应该如何与它们集成的文档的应用程序。
答案 1 :(得分:3)
第一个问题的答案:
试试queryIntentActivities
Intent editIntent = new Intent(android.content.Intent.ACTION_EDIT);
List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(editIntent, 0);