电话通过NFC外部传感器设备读取。我可以创建从NFC循环读取的服务。不幸的是,当屏幕被锁定时,NFC无法工作。我需要解锁屏幕片刻,然后它将读取NFC,然后再次锁定屏幕。我该怎么做?我也尝试使用AlarmManager,但无法解锁屏幕。
发布于 2017-10-29 13:37:25
当您正在使用NFC并且正在读取数据时,请唤醒您的屏幕,当NFC完成读取数据时,请使用唤醒您的屏幕。使用以下代码
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK,"My“;wl.acquire();
//屏幕和CPU将在本节中保持清醒状态
wl.release();
发布于 2017-11-14 08:30:10
正确和有效的答案是:
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 .
https://stackoverflow.com/questions/46998695
复制相似问题