Интерфейс, диалоги, темы, стили, меню
-
Lexxx_HU
- Сообщения: 2
- Зарегистрирован: 01 июл 2015, 14:17
Сообщение
Lexxx_HU » 01 июл 2015, 14:20
Здравствуйте
Проблема вот какая
в сервисе периодически вызываю
Код: Выделить всё
Toast.makeText(getApplicationContext(), _str, Toast.LENGTH_SHORT).show();
при этом в настройка Экрана стоит - автовыключение через 15 сек неиспользования
так вот, когда вызывается Toast - экран не выключается
получается, что он расценивается как активность пользователя?
как можно решить проблему?
заранее спасибо
-
altwin
- Сообщения: 1951
- Зарегистрирован: 13 ноя 2013, 14:46
Сообщение
altwin » 01 июл 2015, 15:03
Cкорее свего проблема в не предсказуемости поведения потока... вы же сообщение отдаете через интент и какой -нить new Runnable? Мне кажется, просто поток остается активным по какой -то причине.. или система просто не знает че с ним делать... Я бы предпочел вообще избегать Toast из не UI потока... У вас же сервис работает независимо? т.е. даже если пользователь не использует приложение может вылести toast ? Тут явно нужен другой способ доставки сообщения... Хотя я с таким не сталкивался... может и туплю где то сильно...
-
Lexxx_HU
- Сообщения: 2
- Зарегистрирован: 01 июл 2015, 14:17
Сообщение
Lexxx_HU » 01 июл 2015, 15:08
altwin писал(а):Cкорее свего проблема в не предсказуемости поведения потока... вы же сообщение отдаете через интент и какой -нить new Runnable? Мне кажется, просто поток остается активным по какой -то причине.. или система просто не знает че с ним делать... Я бы предпочел вообще избегать Toast из не UI потока... У вас же сервис работает независимо? т.е. даже если пользователь не использует приложение может вылести toast ? Тут явно нужен другой способ доставки сообщения... Хотя я с таким не сталкивался... может и туплю где то сильно...
сообщение я вывожу через handler
избежать конечно можно, но не хотелось, из сервиса я вывожу сообщение, что необходимо включит gps (если он выключен), приложение "типа трекера"
Код: Выделить всё
private void toastMakeText(final String _str) {
mHandlerToast.post(new Runnable() {
public void run() {
Toast.makeText(getApplicationContext(), _str, Toast.LENGTH_SHORT).show();
}
});
}