我有一个包含 2 个活动的应用程序,应该响应android.intent.action.VIEW
. 它们的定义就像在清单中一样
<activity android:name=".FirstActivity">
<intent_filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="my_callback1"/>
</intent_filter>
</activity>
<activity android:name=".SecondActivity">
<intent_filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="my_callback2"/>
</intent_filter>
</activity>
my_callback1
默认情况下启动浏览器活动。这是一个 Twitter 授权回调,所以它可能是这样的
浏览器被重定向到 urlmy_callback1://callback?token=0123456789abcdef
my_callback2
由自定义Linkify
过滤器启动,如下所示:
Linkify.addLinks(textView, pattern, null, matcher, new Linkify.TransformFilter() {
@Override
public String transformUrl(Matcher match, String url) {
return "my_callback2://".concat(url);
}
});
并且两个回调都不起作用,IFandroid.intent.category.DEFAULT
没有添加到意图过滤器中。如果DEFAULT
添加到任何一个意图过滤器,相应的回调开始正常工作。如果同时对两者都设置为 none - 所有回调都不起作用(我收到android.content.ActivityNotFoundException
)