Androidで近接センサーを使用して1つのアプリケーションを実行しています。センサーが変更されると電話がロックされ、同じセンサーを使用して電話がロックされると電話のロックが解除されます。電話をロックするには、ダブルタップ機構を使用しています。ワンタップでロック。私のコードは以下のようなものです:
@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