[英]How to properly implement a sensor with SensorManager in a thread?
我的线程上有此命令,但是它不起作用: sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
我想在不打开我的应用程序的情况下使传感器成为背景监听器。
public class myThread extends Thread implements SensorEventListener{
public SensorManager sensorManager;
@Override
public void run()
{
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
我遇到错误Cannot resolve method 'getSystemService(?)'
。
在活动之外,getSystemService()需要上下文。 在初始化线程时传递Context并使用context.getSystemService()。
class MyThread extends Thread {
private Context context;
public SensorManager sensorManager;
public MyThread(Context context) {
this.context = context;
}
@Override
public void run()
{
sensorManager = (SensorManager) context.getSystemService(SENSOR_SERVICE);
sensorManager.registerListener(this,sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
}
/** In Activity **/
public static void main(String[] args) {
new MyThread(getContext()).start();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.