隐式Intent响应与责任传递

当一个应用程序的组件通过一个隐式Intent启动后,它需要找到它要执行的动作以及执行动作需要的数据。

 

调用getIntent方法(一般在onCreate方法里)来释放Intent,从而启动一个组件,如下:

 

@Override

public void onCreate(Bundle icicle) {

super.onCreate(icicle);

setContentView(R.layout.main);

Intent intent = getIntent();

}

 

使用getDatagetAction方法来查找Intent的数据和动作。使用类型安全的get<type>Extra方法来释放临时信息包中的额外信息。

 

String action = intent.getAction();

Uri data = intent.getData();

 

传递责任

 

你可以使用startNextMatchingActivity方法来将动作处理的责任传递给下一个最匹配的应用程序组件,如下片段所示:

 

Intent intent = getIntent();

if (isAfterMidnight)

startNextMatchingActivity(intent);

 

这允许你可以为组件添加额外的条件,限制其超出Intent Filter能力以外的使用。

 

在某些情况下,你的组件可能希望在传递Intent到本地处理器之前能执行一些处理,或者提供用户一个选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值