通过Web链接启动Android应用程序

时间:2012-05-15 09:00:25

标签: android

我想在点击浏览器中的Web链接时启动我自己的应用程序。 我在互联网上搜索了很多,解决这个问题的方法也很相似。 但我的不行。单击Web链接时无效 还有其他一些我没有注意到的事情吗? 谁能告诉我我的申请表错在哪里?谢谢

这是我的计划:

链接是:     谷歌

URLApp.java:

public class URLApp extends Activity {
/** Called when the activity is first created. */

public void OnCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);

    final Intent intent = getIntent();
    final Uri uri = intent.getData();

    Log.i("++++++++++++++++++++++", uri.getScheme().toString());
}
}

的AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.receiver"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET"/>

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".URLApp"
        android:label="@string/app_name" 
        android:launchMode="singleTask">
        <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>
            <data android:host="www.google.com"></data>
        </intent-filter>   
    </activity>
</application>
</manifest>

编辑: 在我定义自己的URL方案后,该程序可以正常工作。 我自己的网络链接是

<a href="myapp://test">click me!</a>
<data android:scheme="myapp"></data>

为什么使用android:scheme =“http”无效 有没有人有同样的问题?

1 个答案:

答案 0 :(得分:0)

<intent-filter><action android:name="android.intent.action.VIEW"></action>
<category android:name="android.intent.category.DEFAULT"></category>
<category android:name="android.intent.category.BROWSABLE"></category>
<data android:host="www.YOUR-URL-HERE.com" android:scheme="http"></data>
</intent-filter>

也许您可以移除android:host标记以对所有网址做出反应。

另见: Android Respond To URL in Intent