如何选择我的浏览器应用作为我的默认浏览器?

时间:2017-08-13 15:47:42

标签: android browser webview

所以我为网页浏览做了一个不错的应用程序,效果很好。 当我启动我的应用程序时,链接会在我的应用程序中打开,一切都很顺利。 但是,当我点击应用程序外部的链接时(例如在短信中),Android会询问我选择打开我的链接的浏览器,并且我的列表并未列出。 我试图让我的应用程序能够打开外部链接并处理它们。

感谢您的帮助!

编辑:已解决

我找到了让它发挥作用的方法。 以下是我的 AndroidManifest.xml

的摘要
<activity
        android:name=".MainActivity"

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </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="http" />
            <data android:scheme="https" />
        </intent-filter>
    </activity>

以下是我如何检索并使用通过链接启动我的应用程序的意图:

MainActivity.java

    @Override
protected void onCreate(Bundle savedInstanceState) {
    //...

    Uri startIntentData = getIntent().getData();
    if(startIntentData!=null) {
        String intentUrl = startIntentData.toString();
        if(intentUrl.contains("http://")||intentUrl.contains("https://")) {  // checking if the intent's data was meant to be a url
            addTab(intentUrl); // a method that handle opening urls by calling webView.loadUrl(String url)
        }
    }

我不知道它是否是最安全或最有效的方式,但至少它有效!

1 个答案:

答案 0 :(得分:0)

  

我不知道如何将我的应用设为我的默认浏览器

你没有。 用户可以选择让您的应用成为默认浏览器。只需使用适当的<activity>设置<intent-filter>,即可查看ACTION_VIEW Intents,了解您支持的任何方案和MIME类型。 Android和用户将从那里接受它。