Поддерживайте работоспособность приложения

Я разрабатываю приложение для обнаружения движения. Это приложение использует камеру для сравнения непрерывно снятых кадров для обнаружения движения. Итак, мне нужно, чтобы приложение продолжало работать и не останавливалось или останавливалось. Я использую WakeLock для этого, но я вижу в документации по Android, что большинство методов устарели.

Меня не волнует, погаснет ли экран, но приложение должно продолжать работать. Сейчас использую вот это:

mWakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "APP");

Но приложение останавливается, когда экран гаснет. Я видел, что, возможно, этот вариант лучше подходит для моей модели: SCREEN_DIM_WAKE_LOCK, но он устарел на уровне API 17 ...

Итак, как лучше всего это получить?


person masmic    schedule 13.05.2014    source источник
comment
Взгляните на следующий пост, в котором предлагается воспользоваться услугами. Служба может быть хорошим выбором для вашего типа задач, потому что она может продолжать работать, пока экран черный / ваше приложение простаивает. stackoverflow.com/questions/19283529 /   -  person alex    schedule 13.05.2014
comment
Вы дали разрешение в файле манифеста? ‹Uses-permission android: name = android.permission.WAKE_LOCK /› Проверьте документацию - разработчик .android.com / training / scheduling / wakelock.html.   -  person Ramesh Prasad    schedule 13.05.2014
comment
@alex Я думаю, что это, возможно, лучший способ сделать это таким образом, но я внесу изменения в следующее обновление приложения. Теперь мне просто нужно приложение для некоторых рабочих тестов, и у меня нет времени начинать что-то менять.   -  person masmic    schedule 13.05.2014
comment
@ Рамеш Прасад Да, верю. Я провел несколько тестов, и теперь он работает на устройстве, которое я использую с SCREEN_DIM_WAKE_LOCK, у меня есть необходимая функциональность, но я не знаю, будет ли это работать на устройстве kitkat   -  person masmic    schedule 13.05.2014
comment
Я предлагаю вам использовать PARTIAL_WAKE_LOCK. Если это не работает, то, как указано в документе, используйте FLAG_KEEP_SCREEN_ON - разработчик .android.com / reference / android / view /   -  person Ramesh Prasad    schedule 13.05.2014


Ответы (1)


Лучшее решение - оставить экран включенным.

Добавьте android:keepScreenOn="true" в свой XML-ресурс макета для этого действия. Пока этот виджет отображается на экране, экран не выключается автоматически.

Также используйте разрешение:

<uses-permission android:name="android.permission.WAKE_LOCK" />
person Chetan Urmaliya    schedule 13.05.2014