Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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
Java 手动注册但不工作的屏幕外广播接收器的意向过滤器?_Java_Android_Broadcastreceiver - Fatal编程技术网

Java 手动注册但不工作的屏幕外广播接收器的意向过滤器?

Java 手动注册但不工作的屏幕外广播接收器的意向过滤器?,java,android,broadcastreceiver,Java,Android,Broadcastreceiver,根据这个回答,我已经为屏幕外的设备注册了一个广播接收器,但是接收器不工作。我注册了这个MaintActivity,并在onDestory()服务中注销了它。 如果有人知道,请纠正我 LockReciver lockReciver=new LockReciver(); IntentFilter screenStateFilter = new IntentFilter(); screenStateFilter.addAction(Intent.ACTION_SCREEN_OFF); register

根据这个回答,我已经为屏幕外的设备注册了一个广播接收器,但是接收器不工作。我注册了这个MaintActivity,并在onDestory()服务中注销了它。 如果有人知道,请纠正我

LockReciver lockReciver=new LockReciver();
IntentFilter screenStateFilter = new IntentFilter();
screenStateFilter.addAction(Intent.ACTION_SCREEN_OFF);
registerReceiver(lockReciver, screenStateFilter);

我想你忘了在清单文件中添加你的接收人。如果您正在为广播接收器使用屏幕开/关意图过滤器,那么您必须按照您在问题中提到的那样注册接收器,但也要将接收器添加到清单文件中,如下所示

<receiver
    android:name="YourReciverName">
</receiver>


而且不需要在此处添加意图过滤器,因为您可以手动从代码中注册和注销接收者,只需在清单文件中添加接收者即可。

哇,工作正常,我忘记了清单中的接收者标记。谢谢并祝您成功