BroadcastReceiver 未接收 ACTION_SCREEN_OFF 意图

crm*_*ham 3 java android broadcastreceiver android-intent

我创建了一个BroadcastReceiver应该侦听“ACTION_SCREEN_OFF”意图的程序。

public class ExampleReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        // run a service..
    }

}
Run Code Online (Sandbox Code Playgroud)

我已经在清单中注册了它:

<receiver android:name=".path.to.ExampleReceiver">
    <intent-filter>
        <action android:name="android.intent.action.ACTION_SCREEN_OFF"></action>
    </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

但当屏幕关闭时,该onReceive()方法不会被调用。我还需要做什么才能获得此功能?

Com*_*are 5

ACTION_SCREEN_OFF不会发送到清单中注册的接收者。它仅发送到通过registerReceiver()正在运行的组件注册的接收者。