Я делаю одно приложение, используя датчик приближения в 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();
}
}
Код разблокировки работает только при первом нажатии. Мне нужно, чтобы он выполнялся после блокировки телефона, но он не работает. Как это сделать?
Спасибо заранее