我正在android中使用接近传感器做一个应用程序。当传感器改变时,它应该锁定手机,当手机使用相同的传感器锁定时,它应解锁手机。使用双击机制锁定手机。只需轻轻一按即可锁定。我的代码如下:
@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
if(event.sensor.getType()==Sensor.TYPE_PROXIMITY){
if(curTime2 - curTime1 < 1000)
{
Tap++;
if(Tap==2 ) //&& (curTime2 - curTime1)==100000)
{
mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
mDeviceAdminSample = new ComponentName(Controller.this,
LockScreenActivity.class);
active = mDPM.isAdminActive(mDeviceAdminSample);
if(active){
mDPM.lockNow();
flagLock = true;
}
Tap=0;
// unlock
if(flagLock == false){
mKeyGuardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
mLock = mKeyGuardManager.newKeyguardLock("activity_classname");
mLock.disableKeyguard();
}
}
解锁代码仅在第一次点击时有效。我需要它应该在手机锁定后执行,但它不工作。如何做到这一点?Thx提前
当手机被锁定时,您的应用程序将进入待机模式,因此代码写入无法工作。你需要打开你的应用程序,才能在手机被锁定时使其工作。为此,你需要获得用户的许可,并在执行此代码之前更改手机设置。