我有一个使用 PARTIAL_WAKE_LOCK 在后台运行的服务。它等到有人摇动设备(使用加速度计),然后打开屏幕并开始活动。我使用这段代码来解锁屏幕:
PowerManager TempPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock TempWakeLock = TempPowerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP |PowerManager.ON_AFTER_RELEASE, "TempWakeLock");
TempWakeLock.acquire();
// do the work that needs the visible display...
到目前为止它工作得很好,但是有什么办法可以让手机在屏幕打开后自行解锁,这样用户就不必手动滑动它或写下他的密码?
我尝试使用这个:
mKeyGuardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
mLock = mKeyGuardManager.newKeyguardLock("activity_classname");
mLock.disableKeyguard();
但是,我得到了这个奇怪的错误,并且变量名被抚摸了......
The type KeyguardManager.KeyguardLock is deprecated
Add @SuppressWarnings 'deprecation' to 'mLock'
即使这是正确的解决方案,我也不知道,但它不起作用......有谁知道我应该怎么做?
总结一下,我打算做一个解锁屏幕的服务,这样用户就不用滑动它或写他的密码,然后开始一个活动......有什么想法吗??
谢谢!