所以我为网页浏览做了一个不错的应用程序,效果很好。 当我启动我的应用程序时,链接会在我的应用程序中打开,一切都很顺利。 但是,当我点击应用程序外部的链接时(例如在短信中),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)
}
}
我不知道它是否是最安全或最有效的方式,但至少它有效!
答案 0 :(得分:0)
我不知道如何将我的应用设为我的默认浏览器
你没有。 用户可以选择让您的应用成为默认浏览器。只需使用适当的<activity>
设置<intent-filter>
,即可查看ACTION_VIEW
Intents
,了解您支持的任何方案和MIME类型。 Android和用户将从那里接受它。