我的浏览器中的Android打开网址

时间:2014-09-02 10:38:40

标签: android android-intent intentfilter

通过点击链接打开一个默认浏览器,是否有可能使点击时打开我的应用程序 - 浏览器,如果已安装,如果没有则打开默认浏览器? 我的代码:

   String url = intent.getStringExtra("url");
   if (!url.startsWith("http://") && !url.startsWith("https://")) url = "http://" +   url;
   Intent i = new Intent(Intent.ACTION_VIEW);
   i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
   i.setData(Uri.parse(url));
   context.startActivity(i);

2 个答案:

答案 0 :(得分:0)

解决方案是在清单中定义方案,例如:

    <activity
        android:name=".MyMainActivity" >
        <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="myapp" /> <!-- see this -->
        </intent-filter>
    </activity>

Activity

中添加以下内容
@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);

    // Handle intent extras
}

网络浏览器中的链接如下: myapp:open_url = http://www.google.fi

然后您解析Intent个额外内容的网址,并在WebView

中打开它

这里也有一些有趣的帖子:http://danielmuller.asia/2013/02/android-open-an-app-from-web-link-or-fallback-to-market/

答案 1 :(得分:0)