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

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");

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

【讨论】:

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