2010-11-24 51 views
0

我有一种情况,通过在tabhost控件中创建选项卡来创建相同的活动类。随后,活动的每个实例都需要通知其选定的一组用户动作。相反,每个活动在构建/创建时都知道哪个活动[只有一个]接受广播消息。IntentFilter会为此工作吗?

我的想法是以编程的方式为每个注册的接收器定义一个IntentFilter,它将保存它希望听到的广播者的标识字符串。

这个工作,如果是的话,我将如何在代码中定义IntentFilter?

回答

1

是的,它确实工作...美妙!

我将创建活动中的标识字符串作为创建意图的“额外”成员传递给后代。这个字符串被定义为IntentFilter类别[iFilter.addCategory(identStr)]。

然后将广播意图指定为相同的类别[iMsg.addCategory(identStr)],然后由已经将具有匹配标识字符串的接收器注册为特定活动的特定活动接收为过滤器类别。

功能非常强大...