onSensorChanged永远不会在服务中被调用

时间:2014-08-29 12:33:25

标签: android events android-activity android-service android-sensors

这似乎是一个重复的问题,但另一个问题没有有用的答案,甚至没有一个答案被接受。

我有一个完全正常工作activity,其中ACCELEROMETER的每个动作都受到监控。但是当我想在service中使用相同的东西时,onSensorChanged永远不会得到任何调用。我仔细检查了一切。以及与此相关的每个问题,都没有为这个问题提供有用的答案。 这一定是可以实现的。

这就是我调用service

的方式
        btnChangeTime.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                //showDialog(TIME_DIALOG_ID);
                Intent serviceIntent = new Intent(MainActivity.this, myService.class);
                startService(serviceIntent);  

这是服务:

public class myService extends Service实现SensorEventListener {

  private SensorManager sensorManager;
  private boolean color = false;
  private View view;
  private long lastUpdate;
  public static final String
  ACTION_LOCATION_BROADCAST = myService.class.getName() + "LocationBroadcast";
         @Override
      public int onStartCommand(Intent intent, int flags, int startId) {    sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
        lastUpdate = System.currentTimeMillis();

        Log.v("SERVICE:", "CALLED");
        sendBroadcastMessage("worked");
     return Service.START_NOT_STICKY;

}

 @Override
  public void onSensorChanged(SensorEvent event) {
       Log.v("SERVICE111:", "111 CALLED");
    if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
      getAccelerometer(event);
    }

  }

但OnSensorChanged从未接到任何电话。

0 个答案:

没有答案