繁体   English   中英

如何使用SensorManager在线程中正确实现传感器?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM