我正在制作一个项目,当吐司“Fall Detected”出现20秒时,我需要自动启动mp3或任何响亮的声音。
public void onSensorChanged(SensorEvent event)
{
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
{
long curTime = System.currentTimeMillis();
if ((curTime - mLastShakeTime) > MIN_TIME_BETWEEN_SHAKES_MILLISECS)
{
float x = event.values[0];
float y = event.values[1];
float z = event.values[2];
double acceleration = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2) + Math.pow(z, 2)) - SensorManager.GRAVITY_EARTH;
Log.d("mySensor", "Acceleration is " + acceleration + "m/s^2");
if (acceleration < -9.00f && acceleration> -15.00f )
{
mLastShakeTime = curTime;
Toast.makeText(getApplicationContext(), "FALL DETECTED",
Toast.LENGTH_LONG).show();
}
}
}
}
答案 0 :(得分:1)
这是在您显示吐司后设置闹钟http://developer.android.com/shareables/training/Scheduler.zip调用setAlarm(context)方法的链接
答案 1 :(得分:1)
鉴于您对原始问题的澄清,听起来您想播放声音。在这种情况下,您需要类似的东西:
final MediaPlayer player = MediaPlayer.create(this, R.raw.alarm);
player.start();
R.raw.alarm
是包含您要播放的声音的文件的资源。
答案 2 :(得分:0)