私は加速度計センサーを使用してデバイスが落ちる高さを計算しようとしていますが、運はありません。Android:加速度計を使用してどのデバイスからの高さを計算するには?
私はデバイスの落下を検出することができました。
同じことを試したことがあるかどうかについてのご意見や回避策をご紹介ください。
以下は試したコードです。
のプライベート無効handleSensorChanged(SensorEventイベント){ 場合(event.sensor.getType()== Sensor.TYPE_ACCELEROMETER){事前に
double gvt=SensorManager.STANDARD_GRAVITY;
//int sensor=event.sensor.getType();
double xx=event.values[0];
double yy=event.values[1];
double zz=event.values[2];
double aaa=Math.round(Math.sqrt(Math.pow(xx, 2)
+Math.pow(yy, 2)
+Math.pow(zz, 2)));
if (aaa<=6.0) {
min=true;
mintime=System.currentTimeMillis();
minXx = zz;
Log.d(TAG,"Min: xx, yy, zz = "+xx+", "+yy+", "+zz);
}
if (min==true) {
acc+=aaa;
count++;
i++;
if(aaa>=13.5) {
max=true;
maxtime = System.currentTimeMillis();
maxXx = zz;
Log.d(TAG,"Max: xx, yy, zz = "+xx+", "+yy+", "+zz);
}
}
if (min==true && max==true) {
double time = (maxtime - mintime);
//double distance = (minXx-maxXx)* Math.pow(time,2)/1000;
double maxVelocity = (aaa/count)*time;
double avgVelocity = maxVelocity/2;
double distance = (avgVelocity * time)/1000;
String msg = "FALL DETECTED!!!!! Duration = "+time + " milli secs, distance = "+ distance +" cms mtrs";
Toast.makeText(this, msg,Toast.LENGTH_LONG).show();
Log.d(TAG, msg);
v.vibrate(75);
resetValues();
}
if (i>4) {
resetValues();
}
}
}'
感謝。
お試しいただいた内容をご提供いただき、ご希望のとおりに機能していないものについて概要を説明してください。 – dharms
@dharms、私はコードを追加しました。ご存知の方はお手伝いください。 – Pampapathi