关于从URL启动Android应用程序

时间:2011-09-14 13:11:14

标签: android android-activity android-intent intentfilter

我正在尝试弄清楚如何从网址启动应用,以及我应该如何编写该网址。

我的AndroidManifest中有以下代码:

<activity android:name=".MyActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"></action>
        <action android:name="android.intent.action.VIEW"></action>
        <category android:name="android.intent.category.LAUNCHER"></category>
        <category android:name="android.intent.category.DEFAULT"></category>
        <category android:name="android.intent.category.BROWSABLE"></category>
        <data android:host="my.app" android:scheme="http"></data>
    </intent-filter>
</activity>

我使用了this answer中解释的网址,但没有任何反应。

如果我的意图写得很好,请告诉我,以及我应该如何编写调用该应用的网址,并注意我需要调用我的“主要”活动。

1 个答案:

答案 0 :(得分:26)

<intent-filter>您需要有两个<activity>元素。一个是MAINLAUNCHER。另一个将用于VIEWBROWSABLE / DEFAULT和您的<data>元素:

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

然后,http://my.app应该启动您的活动。