这是我的AndroidMaifest.xml
:
<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="myhost.com" />
</intent-filter>
现在我想在我的应用中打开以下链接:
myhost.com/my/path
和myhost.com/my/#/path
。它们都在应用中打开,但第一个getIntent().getData().getPath()
返回/my/path
(这是正确的),但对于第二个,它返回/my
(它应该是/my/#/path
)。我是在想错了还是#
在某种程度上被窃听并且它会削减路径?
答案 0 :(得分:2)
这是答案。而不是
Uri uri = getIntent().getData()
我现在用
String uriString = Uri.encode(getIntent().getDataString(), "/:?&="); // I'm not sure if those are all characters that should be allowed
Uri uri = Uri.parse(uriString);
我希望它有所帮助!