我正在尝试设置一个intent过滤器,以便在用户单击以下URI时启动我的活动:
example.com/pathA/pathB/#pathC/someGUID
example.com/pathA/pathB/#pathC/someGUID
<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="/pathA/pathB/#pathC" android:scheme="http" /> </intent-filter>
我在想,’#’char正在搞乱,但我试图逃避这个char而没有运气.有任何想法吗?
更新:当我说“尝试转义”时,我的意思是使用百分比编码(#qualals#)
解决方法
Intent过滤器使用
UriMatcher来解析URI并确定是否存在匹配. #是
UriMatcher中的示例中的数字的URI通配符.根据
UriMatcher source code,没有转义序列来转义URI中的#.因此,您应该使用另一个非保留符号(请注意*也保留为任何文本的通配符).