Я создаю приложение, которое запускает службу, когда нажата кнопка «запустить» и останавливает его, когда нажата кнопка «Остановить». В службе я регистрирую слушатель для датчика акселерометра, чтобы получить значения акселерометра по осям x, y, z .. но когда я останавливаю свое приложение и не регистрирую слушателя от датчика, даже тогда я получаю свои значения акселерометра.// Service
public class Accel extends Service
{
private static Context CONTEXT;
private static Sensor sensor;
private static SensorManager sensorManager;
private static boolean running = false;
@Override
public void onCreate()
{
}
// code to execute when the service is shutting down
@Override
public void onDestroy()
{
if (isListening())
stopListening();
}
// code to execute when the service is starting up
@Override
public void onStart(Intent intent, int startid)
{
CONTEXT = this;
startListening(this);
}
public static Context getContext()
{
return CONTEXT;
}
// Returns true if the manager is listening to orientation changes
public static boolean isListening()
{
return running;
}
//Unregisters listeners
public static void stopListening()
{
running = false;
sensorManager.unregisterListener(sensorEventListener, sensor);
}
/**
* Registers a listener and start listening
* @param accelerometerListener
* callback for accelerometer events
*/
public static void startListening(AccelerometerListener accelerometerListener)
{
sensorManager = (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE);
List sensors = sensorManager.getSensorList(Sensor.TYPE_ACCELEROMETER);
if (sensors.size() > 0)
{
sensor = sensors.get(0);
running = sensorManager.registerListener(sensorEventListener, sensor, SensorManager.SENSOR_DELAY_GAME);
listener = accelerometerListener;
}
}
/**
* The listener that listen to events from the accelerometer listener
*/
private static SensorEventListener sensorEventListener =
new SensorEventListener()
{
public void onAccuracyChanged(Sensor sensor, int accuracy) {}
public void onSensorChanged(SensorEvent event)
{
// the code to perform on sensor change
}
};
< /code>
} < /p>
может кто -нибудь помочь мне?>
Подробнее здесь: https://stackoverflow.com/questions/975 ... he-service
Как перерегистрировать слушателя от датчика после остановки услуги? ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1756821695
Anonymous
Я создаю приложение, которое запускает службу, когда нажата кнопка «запустить» и останавливает его, когда нажата кнопка «Остановить». В службе я регистрирую слушатель для датчика акселерометра, чтобы получить значения акселерометра по осям x, y, z .. но когда я останавливаю свое приложение и не регистрирую слушателя от датчика, даже тогда я получаю свои значения акселерометра.// Service
public class Accel extends Service
{
private static Context CONTEXT;
private static Sensor sensor;
private static SensorManager sensorManager;
private static boolean running = false;
@Override
public void onCreate()
{
}
// code to execute when the service is shutting down
@Override
public void onDestroy()
{
if (isListening())
stopListening();
}
// code to execute when the service is starting up
@Override
public void onStart(Intent intent, int startid)
{
CONTEXT = this;
startListening(this);
}
public static Context getContext()
{
return CONTEXT;
}
// Returns true if the manager is listening to orientation changes
public static boolean isListening()
{
return running;
}
//Unregisters listeners
public static void stopListening()
{
running = false;
sensorManager.unregisterListener(sensorEventListener, sensor);
}
/**
* Registers a listener and start listening
* @param accelerometerListener
* callback for accelerometer events
*/
public static void startListening(AccelerometerListener accelerometerListener)
{
sensorManager = (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE);
List sensors = sensorManager.getSensorList(Sensor.TYPE_ACCELEROMETER);
if (sensors.size() > 0)
{
sensor = sensors.get(0);
running = sensorManager.registerListener(sensorEventListener, sensor, SensorManager.SENSOR_DELAY_GAME);
listener = accelerometerListener;
}
}
/**
* The listener that listen to events from the accelerometer listener
*/
private static SensorEventListener sensorEventListener =
new SensorEventListener()
{
public void onAccuracyChanged(Sensor sensor, int accuracy) {}
public void onSensorChanged(SensorEvent event)
{
// the code to perform on sensor change
}
};
< /code>
} < /p>
может кто -нибудь помочь мне?>
Подробнее здесь: [url]https://stackoverflow.com/questions/9750742/how-to-unregister-a-listener-from-a-sensor-after-stopping-the-service[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия