ACTION_VIEW的Intent.createChooser仅显示默认浏览器

时间:2017-03-16 05:57:20

标签: android android-intent

我正在尝试使用Intent.createChooser显示应用选择器对话框,该对话框将列出用户手机中所有可用的Web浏览器。 我正在使用以下代码:

        Intent browserIntent = new Intent(Intent.ACTION_VIEW);
        browserIntent.setData(Uri.parse(category));
        // Create and start the chooser
        Intent chooser = Intent.createChooser(browserIntent, "Open with...");

        pIntent = PendingIntent.getActivity(helperMethodContext, 0, chooser, PendingIntent.FLAG_UPDATE_CURRENT);

        Log.d("HelperMethods: ", "video chat url: " + category);  

我在Android 6上测试这个。我的手机有3个浏览器,默认浏览器,chrome和firefox。当我运行它并单击链接(通知)时,应用程序选择器对话框将打开,但仅显示默认浏览器。它不显示chrome或firefox。

app chooser dialog after clicking on link in notification

我已经检查了手机中的默认应用设置,并且没有默认浏览器。当我点击默认浏览器时,它会打开一个应用程序选择器对话框,显示我在手机上安装的所有浏览器应用程序。

请有人告诉我哪里出错了。

1 个答案:

答案 0 :(得分:0)

你有什么类型的uri是如此重要。是http,https还是其他方案。在你的情况下它是Uri.parse(category)。例如,firefox可以处理如下方案:httphttpsfileaboutjavascriptpackage。还有mimeType的数据:text/htmltext/plainapplication/xhtml+xml