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

Uri*_*kel 8 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" />
             ....
Run Code Online (Sandbox Code Playgroud)

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

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

我期望它会在浏览器上打开,但是如果用户选择默认情况下应用程序打开所有链接("Allways open"而不是"Just Once"),则再次调用app并发送链接再次访问浏览器 - 它会导致无限循环.我怎么能避免这个?

Uri*_*kel 5

我找到了答案:

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);
Run Code Online (Sandbox Code Playgroud)