2010-09-22 17 views
1

我有这个活动,持有2个意图过滤器,我的问题是不使用这项活动的设备1.6和之前,因为我希望他们使用本地联系人。如何通过代码在活动中添加IntentFilter?

谢谢!

+0

这里是simialar问题:http://stackoverflow.com/questions/3937006/adding-intent-to-activity-dynamically。简短的回答:唉这是不可能的=( – 2012-04-18 13:10:24

回答

2
public class A extends Activity { 
    public A { 
     IntentFilter filter = new IntentFilter(YOUR_BROADCAST); 
     filter.addAction(YOUR_BROADCAST_2); 
     registerReceiver(mReceiver, filter); 
    } 

    private final BroadcastReceiver mReceiver = new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context context, Intent intent) { 
      // code here 
     } 
    }; 
} 

首先你声明你的过滤器 - 你可以add multiple actions单个过滤器。 然后,您需要注册BroadcastReceiver,然后在抵达时使用。

+0

基本上这是一个解决方法? – Mikey 2010-09-23 05:44:19

+0

问题标题是“如何在活动代码中添加IntentFilter”:)所以基本上,如果你需要判断你的基于设备的功能 - 这将是要走的路 - 如果只有1.6可用,请在代码中检查并且不要注册过滤器。 – 2010-09-23 06:47:21