意图过滤器数据路径中的哈希符号

时间:2016-05-16 13:36:24

标签: android android-intent uri android-manifest intentfilter

这是我的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/pathmyhost.com/my/#/path。它们都在应用中打开,但第一个getIntent().getData().getPath()返回/my/path(这是正确的),但对于第二个,它返回/my(它应该是/my/#/path )。我是在想错了还是#在某种程度上被窃听并且它会削减路径?

1 个答案:

答案 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);

我希望它有所帮助!