当我关闭应用程序时,我的线程仍在工作,但几分钟后它会随机停止SensorListener
和MusicPlayer
。当我打开我的应用程序后,它又可以工作了。
如何从MainActivity启动线程:
new backgroundThread(MainActivity.this).start();
我的线程代码:
public class backgroundThread extends Thread implements SensorEventListener{
private Context context;
public backgroundThread(Context context){this.context = context;}
public SensorManager sensorManager;
MediaPlayer mediaPlayer;
MediaPlayer mediaPlayer2;
在“运行”功能中:
mediaPlayer = MediaPlayer.create(context, R.raw.alert);
mediaPlayer2 = MediaPlayer.create(context, R.raw.cancel);
sensorManager = (SensorManager) context.getSystemService(context.SENSOR_SERVICE);
sensorManager.registerListener(this, sensorManager.getDefaultSensor
(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_UI);
mediaPlayer.start();
在我摇动设备时,终端加速度没有改变,但令人耳目一新,因此OnSensorChanged()
函数运行。