Android Java屏幕On / Off事件不适用于Note 3

时间:2015-05-26 15:19:15

标签: android events screen

所以我的问题是三星Note 3手机(三星s3和诺基亚正常工作)。我使用广播接收器监听屏幕开启和关闭事件,当我的应用程序运行时(即使它在后台运行),一切正常。我收到屏幕事件就好了。但是,如果我关闭应用程序,我的屏幕事件将停止在Note 3手机上启动(但它们仍适用于S3和诺基亚)。

在androidmanifest.xml中我注册了这样的接收器:

    <receiver
         android:name=".lockScreenReceiver"
         android:enabled="true"
    android:exported="false" >
    <intent-filter android:priority="2147483647">
        <action android:name="android.intent.action.SCREEN_ON" />
        <action android:name="android.intent.action.SCREEN_OFF" />
        <action android:name="android.intent.action.USER_PRESENT" />
        <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
</receiver>

在Broadcastreceiver的java文件/中有这段代码:

@Override
public void onReceive(Context context, Intent intent) {
  if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
    // Log event screen off.
  } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)){
    // Log event screen on.
  }
}

任何人都知道可能出现什么问题?

1 个答案:

答案 0 :(得分:1)

尝试在活动中设置过滤器并注册接收器,而不是在清单中执行此操作:

IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
BroadcastReceiver mReceiver = new lockScreenReceiver();
registerReceiver(mReceiver, filter);