2
我正在處理的任務是需要檢測到手機墜落。以下是我正在使用的代碼,但它不符合標準。它僅在10次中檢測到1次。有什麼辦法可以優化下面的代碼嗎?Android:使用加速度計檢測手機墜落
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
// TODO Auto-generated method stub
Sensor mySensor = sensorEvent.sensor;
if (mySensor.getType() == Sensor.TYPE_ACCELEROMETER) {
index++;
accelValuesX[index] = sensorEvent.values[0];
accelValuesY[index] = sensorEvent.values[1];
accelValuesZ[index] = sensorEvent.values[2];
if(index >= 127){
index = 0;
accelManage.unregisterListener(this);
callFallRecognition();
accelManage.registerListener(this, senseAccel, SensorManager.SENSOR_DELAY_NORMAL);
}
}
}
public void callFallRecognition(){
float prev = 0;
float curr = 0;
prev = 10;
for(int i=11;i<128;i++){
curr = accelValuesZ[i];
if(Math.abs(prev - curr) > 20){
Toast.makeText(this, "Fall detected", Toast.LENGTH_LONG).show();
sendSMS();
}
}
}
你能請張貼滿級?這將非常有幫助,我無法正確地理解這一點。 –
https://github.com/Rakesh627/PhoneFinder--Android 這裏你去 – TheLion