Android Intent:在Firefox中打开链接,无论用户的默认浏览器是什么?

时间:2018-03-30 15:12:00

标签: android firefox android-intent

我正在尝试制作一个意图,用我的链接打开 com.mozilla.firefox 并忽略 .ACTION_VIEW

我目前的逻辑是:

        Uri uri = formatURL(url); //Turns my string into a URI formatted correctly

        final Intent intent = new Intent(Intent.ACTION_VIEW, uri);
        intent.setPackage("com.mozilla.firefox");

        contextActivity.startActivity(intent);

这似乎应该可行,但不会做任何事情(与删除第3行相比,它在我的默认浏览器Chrome中打开)。是否可以针对意图专门针对另一个应用程序?

1 个答案:

答案 0 :(得分:0)

尝试使用:

intent.setClassName("packageName", "className");

但是查询可以打开意图并启动它的活动

会更好
List<ResolveInfo> activities = packageManager.queryIntentActivities(intent,
                        PackageManager.MATCH_ALL);

 for (ResolveInfo info :
                activities) {
     if( info.activityInfo.packageName.contains("com.mozilla.firefox")){
           //launch firefox: 
          intent.setClassName(info.activityInfo.packageName,info.activityInfo.name);
          startActivity(intent);         
          }
 }

因此,如果未安装Firefox,则可以启动默认意图。