我有一种情况,即通过在tabhost控件中创建选项卡来创建相同的活动类。随后,活动的每个实例将希望通知其对等体的选择组某些用户动作。相反,每个活动在构建/创建时,都知道哪个活动[只有一个]接受广播消息。
我的想法是以编程方式为每个已注册的接收器定义一个IntentFilter,该接收器将保存其希望听到的广播者的识别字符串。
这是否有效,如果是,我将如何在代码中定义IntentFilter?
答案 0 :(得分:1)
是的,它确实有效......非常棒!
我将创建活动中的识别字符串作为创建意图的“额外”成员传递给后代。然后将此字符串定义为IntentFilter类别[iFilter.addCategory(identStr)]。
然后为广播意图分配相同的类别[iMsg.addCategory(identStr)],然后由注册了具有匹配标识字符串作为过滤器类别的接收者的特定活动接收。
非常强大......