这看似简单,但我还无法弄清楚如何做到这一点。
当用户点击域名网址时,我需要打开我的应用。 我需要将URL与域(android:host)匹配,不带路径。 example.com或example.com /
我让它在example.com/上工作(使用斜杠),但我无法删除没有斜杠的URL:example.com
我尝试使用pathPattern / *,它也不起作用。
以下是我的Android Manifest:
<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" />
<data android:host="example.com" />
<data android:host="www.example.com" />
<data android:pathPattern="/*" />
<data android:path="/" />
</intent-filter>
简单地说,我希望匹配带或不带斜杠的网址&#34; /&#34;。 http://example.com http://example.com/
答案 0 :(得分:0)
Android Studio的URL映射编辑器对我来说具有误导性。它说https://example.org/anypath将通过以下配置映射到MainActivity,但实际上并非如此。只有https://example.org/映射到MainActivity
<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="www.example.org"
android:path="/"
android:scheme="https" />
</intent-filter>
答案 1 :(得分:-1)
您不需要多个数据标签,在这种情况下您只需要一个。每个数据标签都可以有方案,主机,路径,路径模式等。如果没有方案,则忽略其余方案。如果没有主机(但是方案),则忽略路径属性。做你想做的正确的方法是
<data android:scheme="http" android:host="example.com" />
这就是你应该需要的。 Docs