我有一个使用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'
我不知道即使这是正确的解决方案,但它不起作用...... 有谁知道我应该怎么做?
总而言之,我打算制作一个解锁屏幕的服务,这样用户就不必滑动它或写下他的密码,然后开始活动......任何想法?
谢谢!