如何打开Android屏幕并使用WakeLock解锁?

时间:2012-11-24 00:21:11

标签: android wakelock unlock

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

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

总而言之,我打算制作一个解锁屏幕的服务,这样用户就不必滑动它或写下他的密码,然后开始活动......任何想法?

谢谢!

0 个答案:

没有答案