我的应用程序获得了唤醒锁,但无法从活动中唤醒设备
这是我的代码:
public void onCreate(){
super.onCreate();
//acquire wakelock logic here
new Timer().schedule(new TimerTask() {
@Override
public void run() {
mHandler.obtainMessage().sendToTarget();
}
}, 30000);
.....
}
public Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
turnScreenOn();
}
}
private void turnScreenOn() {
Log.i("MainActivity", "Turn screen on");
getWindow().addFlags(
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
);
}
在日志中,我看到 turnScreenOn 已执行,但屏幕仍处于关闭状态。当我从 onCreate() 执行此方法并从 Service 执行此方法时 - 一切正常,但我想从 Activity 执行它。我没有找到任何禁止这样做的信息,我没有在日志中看到任何错误。
是否有可能在不从服务启动的情况下唤醒活动/应用程序?如果不可能 - 它是否记录在某处?
提前致谢