4

我有一个使用 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'

即使这是正确的解决方案,我也不知道,但它不起作用......有谁知道我应该怎么做?

总结一下,我打算做一个解锁屏幕的服务,这样用户就不用滑动它或写他的密码,然后开始一个活动......有什么想法吗??

谢谢!

4

0 回答 0