Непрерывная резьба для контроля аппаратного датчика приближения - PullRequest
2 голосов
/ 13 июня 2011

Как бы я реализовал поток, работающий во всем приложении. Я посмотрел на услуги, но я уверен, что это не то, что я хочу. Я не хочу, чтобы поток постоянно проверял, даже если приложение закрыто. Я просто хочу, чтобы поток, работающий в фоновом режиме приложения (даже если я переключаюсь между действиями), постоянно проверял, подносил ли пользователь телефон к уху. Если пользователь это сделает, он выполнит действие. Какие-нибудь примеры чего-то подобного?

Ответы [ 2 ]

5 голосов
/ 13 июня 2011

Вам не нужен поток или сервис для этого. См. Пример в документации по API Android для SensorManager . Также см. Пример ниже:

 public class SensorActivity extends Activity, implements SensorEventListener {
     private final SensorManager mSensorManager;
     private final Sensor mSensor;

     public SensorActivity() {
         mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
         mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
     }

     protected void onResume() {
         super.onResume();
         mSensorManager.registerListener(this, mSensor, SensorManager.SENSOR_DELAY_NORMAL);
     }

     protected void onPause() {
         super.onPause();
         mSensorManager.unregisterListener(this);
     }

     public void onAccuracyChanged(Sensor sensor, int accuracy) {
     }

     public void onSensorChanged(SensorEvent event) {
         // TODO: implement your action here.
     }
 }
1 голос
/ 13 июня 2011

Лучше всего выполнять как услугу.привязка к сервису, когда ваша деятельность начинается, и привязка к ней, когда ваша деятельность завершена.Служба должна начать слушать, когда она связана, и прекратить, когда не связана с.

...