我有一个自定义ROM,除了 WebView Browser Tester 之外没有其他默认浏览器。我已经开发了自己的Web浏览器应用程序(webviewclient活动),并将其安装在手机中。现在,我希望无论用户单击电话时使用哪个URL,我的浏览器应用程序都将拦截并加载此URL。这是我在intent_filter中使用的
<intent_filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent_filter>
但是它无法正常工作,并且仍然WebView
浏览器Tester应用程序启动和加载链接。有人可以告诉我如何将我的应用程序设置为默认浏览器应用程序,或者使用任何特殊的意图来帮助在单击任何URL
时启动此活动吗?
答案 0 :(得分:2)
尝试添加两个意图过滤器
<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:host="*"/>
</intent-filter>
<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="https"
android:host="*" />
</intent-filter>
答案 1 :(得分:0)
为此,您必须确定Activity
应用程序的启动Browser
,如下所示:
Intent intent = new Intent();
intent.setComponent(new ComponentName("/*Pass your browser package*/","com.google.android.browser.BrowserActivity /*And pass Browser Activity*/"));
intent.setAction("android.intent.action.VIEW");
intent.addCategory("android.intent.category.BROWSABLE");
Uri uri = Uri.parse(url);
intent.setData(uri);
try
{
startActivity(intent);
}
catch (Exception e)
{
e.printStackTrace();
}
this链接上已有答案