Android BroadcastReceiver无法接收Screen_On和Screen_Off广播

时间:2015-05-28 00:36:30

标签: android broadcastreceiver

我试图让我在服务中创建的BroadcastReceiver接收Screen_On和Screen_Off事件。它不起作用,这就是我现在正在尝试的。

//OnCreate Method for the service
@Override
public void onCreate() {
    super.onCreate();
    myBroadcast = new MyBroadcastReceiver();
    IntentFilter screenOn_Off = new IntentFilter();
    screenOn_Off.addAction(Intent.ACTION_SCREEN_OFF);
    screenOn_Off.addAction(Intent.ACTION_SCREEN_ON);
    registerReceiver(myBroadcast, screenOn_Off);
}

//Inner class for the broadcast receiver, also in the service.
public class MyBroadcastReceiver extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d("Broadcast received", "Broadcast received");

        if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)){
            startTimers();
        } else if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)){
            screenLocked();
        }
    }
};

//Declaration of receiver in manifest.
        <receiver
        android:name="com.bla.bla.bla$MyBroadcastReceiver"
        android:enabled="true">
        </receiver>

我故意没有包含screen_on和off的intent过滤器,因为我读过那些必须以编程方式声明,包括它们没有区别。

0 个答案:

没有答案
相关问题