IntentFilter作为独立课程

时间:2013-12-13 14:28:36

标签: android class intentfilter

我想将我的intentFilter创建为预定义类的实例。但不知何故,当我试图做这样的事情时,日食会给我带来错误。 (这只是粗略的想法......我尝试了不同的方法)

import android.content.IntentFilter;

public class MyIntentFilter extends IntentFilter {

MyIntentFilter.addAction(INTENT_BY_MAIN); // I am not sure about this line
MyIntentFilter.addAction(INTENT_BY_OTHER);
MyIntentFilter.addAction(INTENT_BY_WHATEVER);

}

实现应如下所示:

MyIntentFilter mFilter = new MyIntentFilter();
mBroadcastReceiver mReceiver = new mBroadcastReceiver(mHandler);
this.registerReceiver(mReceiver, mFilter); 

P.S。

我想避免在XML或Activity本身中定义IntentFilter。 原因?使代码尽可能分离,从而可读(希望如此)

1 个答案:

答案 0 :(得分:1)

我不明白为什么要扩展IntentFilter。如果它只是为了避免XML定义,你可以简单地做这样的事情,它应该工作(并且你的清单中没有添加任何东西):

mBroadcastReceiver mReceiver = new BroadcastReceiver(mHandler);
this.registerReceiver(mReceiver, new IntentFilter("MY_ACTION");
this.registerReceiver(mReceiver, new IntentFilter("MY_ACTION_2");
this.registerReceiver(mReceiver, new IntentFilter("MY_ACTION_3");