我在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帮助我以及如何在第一次和第二次对象之间设置一个计时器到达附近。预付费用
答案 0 :(得分:1)
捕获第一个邻近事件时,请使用System.currentTimeInMillis()
保存时间戳。对第二个邻近事件执行相同操作并比较时间戳。
if(secondTime-firstTime < 1000)
//doTask