【发布时间】:2023-04-07 21:11:02
【问题描述】:
我正在尝试在屏幕锁定时关闭 GPS 位置更新。阅读了这个问题的答案Android - how to receive broadcast intents ACTION_SCREEN_ON/OFF?
我已经编写了一些代码来实现广播接收器,但是当屏幕熄灭时它不起作用。
我已经在我的代码中注册了一个广播接收器
@Override
public void onResume() {
super.onResume();
IntentFilter iFilter = new IntentFilter();
iFilter.addAction("android.intent.action.ACTION_SCREEN_ON");
iFilter.addAction("android.intent.action.ACTION_SCREEN_OFF");
registerReceiver(screenStatReceiver, iFilter);
现在接收器本身只是一个存根:
public BroadcastReceiver screenStatReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Log.d("BCAST_TAG", "Got broadcast");
String action = intent.getAction();
}
};
在清单中我有:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
关于为什么我在手机上调试它时它没有被触发的任何想法?
【问题讨论】:
-
您在 OnResume 方法中注册接收方。为什么不在 onCreate() 中注册它,这样你就可以持续“监听”?
-
我正在注册 onCreate 但我没有取消注册
-
它的抛出错误我想检测屏幕上的变化我将如何