小生最近有个项目用到了唤醒和解锁,但是我发现三星有些手机上却没有被解锁而只是被唤醒了,不知道各位有没有遇到过类似的情况,如果有可否赐教一二。下面是含有唤醒和解锁的代码片段,希望有高人能为小生指点迷径 KeyguardManager.KeyguardLock keyguardLock;
PowerManager.WakeLock mWakelock;
keyguardManager = ((KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE)); keyguardLock = keyguardManager.newKeyguardLock("TEST");
/**
* 解锁键盘
*/
public void disableKeygrard()
{
keyguardLock.disableKeyguard();
return true;
}
/**
* 锁定键盘
*/
public void reenableKeyguard()
{
keyguardLock.reenableKeyguard();
}
/**
* 得到唤醒锁
*/
private void lock()
{
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
if(mWakelock == null)
{
mWakelock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK, "XYTEST");
mWakelock.acquire();
}
} /**
* 释放唤醒缩
*/
private void unLock()
{
if (mWakelock != null)
{
mWakelock.release();
mWakelock = null;
}
} // 下面是解锁操作 public void open()
{
lock();
disableKeygrard();
// 事件处理.....
reenableKeyguard();
unLock();
}
PowerManager.WakeLock mWakelock;
keyguardManager = ((KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE)); keyguardLock = keyguardManager.newKeyguardLock("TEST");
/**
* 解锁键盘
*/
public void disableKeygrard()
{
keyguardLock.disableKeyguard();
return true;
}
/**
* 锁定键盘
*/
public void reenableKeyguard()
{
keyguardLock.reenableKeyguard();
}
/**
* 得到唤醒锁
*/
private void lock()
{
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
if(mWakelock == null)
{
mWakelock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK, "XYTEST");
mWakelock.acquire();
}
} /**
* 释放唤醒缩
*/
private void unLock()
{
if (mWakelock != null)
{
mWakelock.release();
mWakelock = null;
}
} // 下面是解锁操作 public void open()
{
lock();
disableKeygrard();
// 事件处理.....
reenableKeyguard();
unLock();
}
这篇文章主要说了点亮屏幕,我的问题不是点亮屏幕,而是键盘未能解锁 就是说我屏幕能点亮,可是手机锁没解开。。
顺便说下这篇文章里在onDestroy里没有恢复键盘锁