如何选择特定的应用程序来处理意图

Posted

技术标签:

【中文标题】如何选择特定的应用程序来处理意图【英文标题】:How to choose specific app to handle intent 【发布时间】:2014-02-15 01:04:40 【问题描述】:

有不止一个应用可以处理 CROP 意图,但我只想让画廊在不选择的情况下进行处理,因为像 google+ 这样的其他应用的渲染分辨率会非常差,并且选择过程没有良好的用户体验。

Intent intent = new Intent("com.android.camera.action.CROP");
intent.setType("image/*");  
Intent i = new Intent(intent);
ResolveInfo res = list.get(0);
i.setComponent(new ComponentName(res.activityInfo.packageName,
               res.activityInfo.name));
startActivityForResult(intent, REQUEST_CROP_CAMERA);

那么我如何在没有用户选择的情况下指定 Gallery 应用来处理 CROP Intent?

【问题讨论】:

【参考方案1】:

你可以在你的意图中指定包:

 intent.setPackage("com.android.gallery");

这将设置一个明确的应用程序包名称

【讨论】:

以上是关于如何选择特定的应用程序来处理意图的主要内容,如果未能解决你的问题,请参考以下文章

如何强制共享意图打开特定应用程序?

我需要一个意图来选择具有特定格式的视频

特定文件扩展名的Android意图过滤器?

Android 10 中的相机意图权限

如何在创建后通过更改活动来处理推送通知意图?

如何在 expo 应用程序中处理共享意图(发送图像)?