Для каких видов работы мне нужно использовать CPU WAKE LOCK
? Например, в режиме сна я использую TelephonyManager getCellLocation()
, должен ли я использовать PARTIAL_WAKE_LOCK
в этом случае или нет? Я не нашел эту информацию в документации. Постскриптум TelephonyManager
имеет различную реализацию API на разных устройствах, поэтому для меня это выглядит сложно. Благодарю.Для каких видов работы мне нужно использовать CPU WAKE_LOCK в спящем режиме?
ответ
Через некоторое исследование выглядит для всех операции, которые не могут быть вызваны из манифеста с использованием системных намерений.
**Flag Value CPU Screen Keyboard**
PARTIAL_WAKE_LOCK On* Off Off
SCREEN_DIM_WAKE_LOCK On Dim Off
SCREEN_BRIGHT_WAKE_LOCK On Bright Off
FULL_WAKE_LOCK On Bright Bright
Если вы постоянно пользуетесь местоположением, даже если экран телефона выключен, для этого необходимо использовать частичный замок слежения. Из приведенной выше таблицы видно, что частичный блокиратор слежения удерживает процессор только тогда, когда экран и клавиатура выключены (вы не требуете их, так как хотите получить местоположение). В любом случае обратитесь к приведенной ниже ссылке для получения дополнительной информации о Уэйк ЗАМКОВ
http://developer.android.com/reference/android/os/PowerManager.html
Также смотрите этот вопрос на SO, может быть полезным
How can I keep my Android service running when the screen is turned off?
http://stackoverflow.com/questions/5120185/android-sleep-standby-mode - аналогичный вопрос, заданный 3 года назад, возможно, что-то изменилось ... – pvllnspk