手机通过NFC外部传感器设备读取。我可以从NFC周期性地创建服务阅读。不幸的是,当屏幕被锁定时,NFC不起作用。我需要解锁屏幕片刻,然后它会读取NFC,然后再次锁定屏幕。我怎样才能做到这一点?我也试过使用AlarmManager,但我无法解锁屏幕。
答案 0 :(得分:0)
当您使用NFC并且正在读取数据时唤醒屏幕,当NFC完成读取数据时,请关闭屏幕。使用以下代码
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK,“我的标签”); wl.acquire();
//屏幕和CPU将在本节中保持清醒
wl.release();
答案 1 :(得分:0)
正确和有效的答案是:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON | WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON);
在清单中有适当的权限。来源:Turning on screen from receiver/service。