Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 作为独立类的IntentFilter_Android_Class_Intentfilter - Fatal编程技术网

Android 作为独立类的IntentFilter

Android 作为独立类的IntentFilter,android,class,intentfilter,Android,Class,Intentfilter,我想创建intentFilter作为预定义类的实例。但不知何故,当我试图做这样的事情时,月食向我抛出了错误。(这只是一个粗略的想法……我也尝试过不同的方法) 实现应如下所示: MyIntentFilter mFilter = new MyIntentFilter(); mBroadcastReceiver mReceiver = new mBroadcastReceiver(mHandler); this.registerReceiver(mReceiver, mFilter); 附言 我希

我想创建intentFilter作为预定义类的实例。但不知何故,当我试图做这样的事情时,月食向我抛出了错误。(这只是一个粗略的想法……我也尝试过不同的方法)

实现应如下所示:

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

我希望避免在XML或活动本身中定义IntentFilter。
原因是什么?为了使代码尽可能分离,从而可读(希望如此)

我不明白您为什么要扩展IntentFilter。如果只是为了避免XML定义,您可以简单地执行类似的操作,它应该可以工作(并且不会在清单中添加更多内容):


那么问题是,IntentFilter()是否可以用多个参数重载。。。。啊,它不能。。。。虽然我可以使用addAction,但我不想被硬编码到特定的活动中。我已经提到,用你的方式编码不是本文的重点。不过还是要谢谢你的帮助。
MyIntentFilter mFilter = new MyIntentFilter();
mBroadcastReceiver mReceiver = new mBroadcastReceiver(mHandler);
this.registerReceiver(mReceiver, mFilter); 
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");