Android - 在外部浏览器中打开网址会导致无限循环

时间:2014-04-09 09:09:35

标签: android android-intent

我的应用可以默认打开链接:

<category android:name="android.intent.category.BROWSABLE" />
    <data
        android:host="example.com"    
        android:scheme="http" />
    <data
        android:host="www.example.com"
        android:scheme="http" />
             ....

现在,我的应用中有一个链接我不支持(还)。所以我在同时做的是用外部浏览器打开它。像这样:

String requestURL = "www.example.com/unsupportedlink";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(requestURL));
mActivity.startActivity(i);

我期望它会在浏览器上打开,但如果用户选择默认情况下应用程序将打开所有链接(&#34; Allways打开&#34;而不是&#34;只需一次&# 34;),再次调用app并再次将链接发送到浏览器 - 它会导致无限循环。 我怎么能避免这个?

1 个答案:

答案 0 :(得分:5)

I found the answer:

Uri uri = Uri.parse(requestURL);
Intent browserIntent = new Intent(Intent.ACTION_VIEW);
browserIntent.setDataAndType(uri, "text/html");
browserIntent.addCategory(Intent.CATEGORY_BROWSABLE);
context.startActivity(browserIntent);