如果已经设置了设备默认设置,是否可以为新的“ Web浏览器”活动显示选择器?

时间:2018-09-14 00:37:40

标签: android-intent android-intent-chooser

我刚刚开始学习如何在android中进行开发,并且正在学习选择器。

我发现,按照this教程中概述的步骤,我无法为Web浏览器显示选择器。

我相信这是因为我的Android设备(三星SM-G930F(Android 8.0.0,API 26))具有网络浏览器的默认设置,因此将始终选择默认浏览器而不显示选择器。我可以通过清除默认值来暂时避免这种情况,但这不是我要达到的目的。

我的问题是,即使在Android设备上设置了默认浏览器,是否也可以为不同的浏览器显示选择器。

我正在使用按钮触发以下隐式意图:

        Intent i = new Intent(Intent.ACTION_VIEW);
        i.setData(Uri.parse("http://www.amazon.com"));
        String title = getResources().getString(R.string.chooser_title);
        Intent chooser = Intent.createChooser(i, title);
        if(i.resolveActivity(getPackageManager()) != null){
            startActivity(chooser);
        }

MainActivity.xml意图过滤器如下:

<intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="http" />
        </intent-filter>

0 个答案:

没有答案