当我在Chrome浏览器应用程序的某些网站中单击<a href="www.myhost.com"/>时,我想打开应用程序的LoginActivity。我有以下代码,但无法正常工作:

    <activity android:label="@string/app_name" android:launchMode="singleTask"
                          android:name=".activities.LoginActivity" android:screenOrientation="portrait"
                          android:windowSoftInputMode="stateVisible">
      <intent-filter>
          <action android:name="android.intent.action.MAIN"/>
          <category android:name="android.intent.category.LAUNCHER"/>
      </intent-filter>
      <intent-filter>
          <data android:scheme="http" android:host="myhost.com"/>
          <category android:name="android.intent.category.DEFAULT"/>
          <category android:name="android.intent.category.BROWSABLE"/>
          <action android:name="android.intent.action.VIEW"/>
      </intent-filter>
   </activity>


我究竟做错了什么?

谢谢。

最佳答案

您需要这样设置:

<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:host="example.com"
        android:pathPrefix="/someresource/"
        android:scheme="http" />
    <data
        android:host="www.example.com"
        android:pathPrefix="/someresource/"
        android:scheme="http" />
</intent-filter>


请注意,在这种情况下,您需要使用android:pathPrefix而不是android:path。

07-24 20:59