我可以在有来电时解锁屏幕,然后再次锁定屏幕。重新启动设备后,如果我收到第一个来电,则此逻辑不起作用。在随后的来电中,逻辑起作用。
有什么帮助吗??
我的代码是:
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
if (state.contentEquals("RINGING")) {
lock.disableKeyguard();
}
lock.reenableKeyguard();
在我看来,您的“锁定”对象在第一次调用之前并不存在,但我无法通过查看那段代码来判断。
我使用 windowmanager 来解锁和锁定我的屏幕。
Window window = getWindow();
WindowManager.LayoutParams windowParams = window.getAttributes();
winParams.flags |= WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED;
window.setAttributes(winParams);
http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html
希望这可以帮助