Android: фоновый поток и экран просыпаются, работает в эмуляторе, а не в устройстве - PullRequest
0 голосов
/ 20 апреля 2011

В приложении у меня есть фоновый поток, который загружает данные, иногда нет записей очень высоких.Мы отображаем индикатор выполнения для отображения данных

Предположим, я загружаю 1000 записей, что занимает от 1 до 5 минут в зависимости от сети.Во время процесса загрузки экран становится черным, и он даже не уведомляет, если произошла какая-либо ошибка.Чтобы решить эту проблему, я применил этот код

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

Что происходит в эмуляторе : я установил время экрана на 30 секунд, после чего начал загружать данные.В настоящее время моя сеть работает медленно и загрузка продолжается в течение последних 30 минут, но экран не исчез.Я все еще вижу все на экране.

Что происходит в устройстве: [протестировано в Samsung i5700] : время ожидания экрана установлено на 30 секунд.Тот же код не запускался, как в эмуляторе.Через 30 секунд экран становится черным, и устройство блокируется.

Я сделал что-то не так, что код не работает на устройстве, как ожидалось?Или есть какая-то другая вещь, которую нужно обрабатывать явно, если это возможно?

1 Ответ

1 голос
/ 20 апреля 2011

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

Попробуйте отключить AC-соединение через adb (подключитесь через telnet и введите «power ac off»).

...