Wake Lock в Samsung Galaxy Tab

1

Я разрабатываю приложение, в котором мне нужно отправлять и получать пакеты в фоновом режиме. Но я обнаружил, что когда экран отключается, CPU также отключается. Поэтому я нашел в Android Developers, что я должен использовать блокировку от wake и wifi, чтобы позволить процессору работать, если экран погаснет. Это решение работает для других устройств, таких как LG Optimus One, но не для Samsung Galaxy Tab. Когда это устройство отключается, я не могу получать больше пакетов (UDP) и магически, когда я нажимаю кнопку питания для повторного включения экрана, я перезапускаю, чтобы принимать пакеты. В моем коде я вызываю:

powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_W AKE_LOCK, "TAG");

то

wakeLock.acquire();

Я думаю, что это ошибка Samsung, но я не уверен в этом, и если кто-то может дать мне какой-то намек, я бы очень признателен.

P.S. Мне нужна помощь в программировании... Я уже знаю, что если я изменю некоторые ручные настройки, чтобы не закрывать экран, это будет работать. Но я разрабатываю приложение, и мне нужен код.

Теги:
android-wake-lock
wakelock

2 ответа

0
Лучший ответ

Вы должны использовать PARTIAL_WAKE_LOCK в вашем случае.

Я не уверен, почему SCREEN_DIM_WAKE_LOCK недостаточно (не нашел никакой документации, которая это оправдывала), но PARTIAL_WAKE_LOCK работал отлично для меня в подобном сценарии.

В качестве другого варианта вы можете использовать WifiLock. Но вам нужно быть в курсе, поскольку ваше сетевое соединение может быть 2G или 3G, а не только Wi-Fi. Таким образом, вы не должны удерживать блокировку Wi-Fi, когда на самом деле используете 3G/2G/и т.д.

  • 0
    Вы пробовали с Galaxy Tab? потому что я пытался это сделать, но когда экран выключен, я могу только отправлять и не получать .. PARTIAL_WAKE_LOCK должен поддерживать работоспособность процессора, но в этом случае кажется, что при выключении экрана это не работает.
  • 0
    Да, это работает на Galaxy Tab (я только что проверил). Как вы думаете, почему это Galaxy Tab?
Показать ещё 2 комментария
0

Вы также можете проверить расширенные настройки WIFI. В настройках - настройках WIFI вы можете нажать клавишу меню, щелкнуть расширенный значок и проверить значение для политики WIFI Sleep. Один из вариантов: "Когда экран выключается".

  • 0
    В этих настройках у меня выбрана опция «Никогда». Также мне нужен программный ответ, потому что я разрабатываю приложение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню