覆盖默认应用程序以处理意图

时间:2013-06-02 21:25:20

标签: android android-intent

我有一个用浏览器打开网址的代码:

Intent i = new Intent(Intent.ACTION_VIEW, uri);
startActivity(i);

我的问题是,如果用户设置了打开网址的默认应用,是否有办法覆盖默认应用并显示应用选择对话框?

2 个答案:

答案 0 :(得分:4)

我刚刚找到了解决方案。这很简单:

startActivity(Intent.createChooser(intent, title));

答案 1 :(得分:1)

我不知道你问题的确切答案,但是有一个更复杂的决定。您可以获得安装在智能手机上的浏览器列表:

PackageManager manager = getPackageManager();
List<ResolveInfo> info = manager.queryIntentActivities(myIntent,PackageManager.MATCH_DEFAULT_ONLY);

然后手动创建一个选择对话框。

P.S。也许有一个更简单的解决方案......