2012-01-23 71 views
0

我正在做一個使用android中的接近傳感器的應用程序。當任何物體(手指)靠近接近傳感器時,它工作正常。但是我希望在物體在一秒鐘內第二次接近接近物體時進行應用。例如,我的應用程序會在手指接近第一次接近時鎖定手機。我想在相同的物體在二分之一秒內接近接近時鎖定手機。我的代碼如下圖所示:如何設置時間

@Override 
public void onSensorChanged(SensorEvent event) { 
    // TODO Auto-generated method stub 
    if(count >=0){ 
    System.out.println("inside on sensor changed*****"); 
     ProximityReading.setText("Proximity Sensor Reading:" 
       + String.valueOf(event.values[0])); 
     count++; 
     System.out.println("inside count*****"+count); 
    } 
    if(count == 1){ 
    System.out.println("inside second if *****"); 
    System.out.println("inside second if*****"+count); 
    count = 0; 
    mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);     
    mDeviceAdminSample = new ComponentName(Controller.this, 
           LockScreenActivity.class);    
    active = mDPM.isAdminActive(mDeviceAdminSample); 
    System.out.println("valuve of active"+active); 

    if(active){ 
     System.out.println("***inside if"); 
      mDPM.lockNow(); 
     System.out.println("***inside active after if"); 

    } 

    } 

但它不工作:(plz幫助我如何當你捕捉設置第一和第二時間對象之間的計時器達到近thax提前

+0

你發現了什麼樣的錯誤與此代碼? –

回答

1

。第一接近事件,使用System.currentTimeInMillis()保存的時間戳。做同爲第二接近事件,並比較時間戳。

if(secondTime-firstTime < 1000) 
    //doTask 
+0

如何第一事件與第二事件 – Prasad

+0

比較看看我的a nswer。如果它適合你,請接受它的答案。 –

+0

我接近你的解決方案。我得到了第一次,但如何獲得第二次? THX爲你的幫助 – Prasad