我的线程上有这个命令,但它不起作用: 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(?)'
。
在 Activity 之外,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();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句