我的应用可以默认打开链接:
<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并再次将链接发送到浏览器 - 它会导致无限循环。 我怎么能避免这个?
答案 0 :(得分: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);