显示调用
需要明确指定被调用对象的组件信息,包括包名和类名。Intent intent1 = new Intent(MainActivity.this, MainActivity.class); startActivity(intent1);
隐式调用
需要Intent能够匹配目标组件的IntentFilter中设置的过滤信息,如果不匹配则无法启动目标Activity
1. IntentFliter中过滤信息有:action,category,data。(以上三个过滤信息在过滤列表中可以存在多个)
2. 匹配过滤列表时,需要同时匹配三个类别才算完全匹配,只有完全匹配才能成功启动目标Activity。
3. 一个Activity可以有多个intent-filter,一个Intent只要能匹配任何一组intent-filter即可启动对应的Activity。
action匹配规则
① action是一个字符串,Intent中的action必须能够和匹配规则中的action匹配,即action字符串值完全一致。
② action区分大小写。
③只要Intent中action能够匹配上过滤规则中的任意一个action即可。
④ 如果Intent中没有指定action,那么匹配失败。
Android 隐式启动Activity方式之IntentFilter匹配规则
最新推荐文章于 2024-07-06 00:45:00 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)