2
アンドロイドの近接センサーを使用して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を事前に
サービスを使用して、アプリのアクティビティが表示されないときにアクションを実行できます。 –