在浏览器中打开链接而不是默认应用

时间:2014-10-21 19:32:52

标签: android android-intent

我正在为网站创建应用,并且我创建了链接重定向器活动(仅限http://*.domain.com网址),如果网址支持则重定向到活动。如果不支持则应在浏览器中打开链接。它工作正常,但是当用户设置应用程序默认应用程序时,单击活动选择器中的“始终”按钮,应用程序将循环播放。活动开放,检查链接支持,如果不支持使用Intent.ACTION_VIEW标志打开意图,则活动再次打开。

问题:如何在浏览器中打开链接(可能是默认设置),而不是我的应用,为网址设置默认值。

我在浏览器中尝试打开网址的方法:

private void unsupportedLink() {
    Toast.makeText(this, R.string.unsupported_link, Toast.LENGTH_LONG).show();
    Intent openUrl = new Intent(Intent.ACTION_VIEW, Uri.parse(url.toString()));
    startActivity(openUrl);
    finish();
}

清单中的活动:

<activity
            android:name=".util.UrlHandler"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.Translucent.NoTitleBar">
            <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"
                    android:pathPattern="/.*"
                    android:host="m.domain.com" />
                <data
                    android:scheme="http"
                    android:pathPattern="/.*"
                    android:host="www.domain.com" />
            </intent-filter>
        </activity>

0 个答案:

没有答案