Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Razangann
11 / 11 / 0
Регистрация: 11.01.2013
Сообщений: 135
#1

Запрет выполнение Activity из-за энергосбережения - Программирование Android

02.03.2014, 22:19. Просмотров 696. Ответов 6
Метки нет (Все метки)

Столкнулся с такой проблемой. Сервис запускает активити, которое включает экран, но из-за энергосбережения , активити запускается только после разблокировки... Если подключить телефон к зарядке, то все работает нормально, но при отключении от сети, не срабатывает. Скорее всего режим энергосбережения блокирует запуск активити. Как можно это предотвратить? Как разрешить данному приложению/активити работать при заблокированном телефоне? Фрагмент кода активити:
Java
1
2
3
4
5
6
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
        setContentView(R.layout.activity_my);
}
Разрешения в манифесте:
XML
1
2
3
4
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.DEVICE_POWER" />
Вот....подскажите пожалуйста)) Заранее благодарен
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2014, 22:19     Запрет выполнение Activity из-за энергосбережения
Посмотрите здесь:

Запрет на нажатия в activity - Программирование Android
Здравствуйте. Есть небольшая проблема. Как запретить нажатия на элементы в активности на некоторое время(3 секунды). Время я устанавливаю...

Xmpp и режим энергосбережения - Программирование Android
на одном устройстве висит клиент xmpp. он подключен на события включения интернета. как только интернет включается, то он регистрируется на...

Работа с двумя Activity - Программирование Android
Здравствуйте! В MainActivity имеется editText и кнопка, по нажатию на которую текст из editText выводится на FullscreenActivity. Но при...

Servise, BroadcastReceiver, Activity - Программирование Android
Здравствуйте, есть сервис и активити, сервис возвращает данные активити через BroadcastReceiver... все работает отлично, но когда виходиш...

Из ListView на новую Activity - Программирование Android
Доброго времени суток! Я делал приложение в котором из &quot;главного меню&quot; осуществляется переход на новую Activity. В том Activity...

AndroVM. Unfortunately activity has stopped - Программирование Android
Привет. Кто-то использует AndroVM для тестирования своих приложений? Я никак не могу его заставить запустить хоть что-нибудь кроме...

Обработка onTouchEvent в Activity - Программирование Android
Хочу в активити обрабатывать все прикосновения, независимого от того, были ли они на кнопке или на свободном пространстве. Однако после...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
02.03.2014, 22:27     Запрет выполнение Activity из-за энергосбережения #2
Включение экрана
Razangann
11 / 11 / 0
Регистрация: 11.01.2013
Сообщений: 135
02.03.2014, 22:34  [ТС]     Запрет выполнение Activity из-за энергосбережения #3
Не помогло...( все равно активность запускается после разблокировки устройства вручную....
Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
02.03.2014, 22:41     Запрет выполнение Activity из-за энергосбережения #4
Через wakelock и disableKeyguard тоже не работает ?
Razangann
11 / 11 / 0
Регистрация: 11.01.2013
Сообщений: 135
02.03.2014, 22:58  [ТС]     Запрет выполнение Activity из-за энергосбережения #5
Через такой wakelock??
Java
1
2
3
4
5
6
7
8
PowerManager pM = (PowerManager)getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wL = pM.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,"whatever");
wL.acquire();
wL.release();
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Добавлено через 3 минуты
А через disableKeyguard не знаю как...там метод newKeyguardLock() устаревший....(
Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
02.03.2014, 23:01     Запрет выполнение Activity из-за энергосбережения #6
Цитата Сообщение от Razangann Посмотреть сообщение
режим энергосбережения блокирует запуск активити
точно только активити ? сервис запускается ?
можно попробовать использовать этот класс
https://github.com/commonsguy/cwac-w...ntService.java
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2014, 23:28     Запрет выполнение Activity из-за энергосбережения
Еще ссылки по теме:

Activity без AndroidManifest - Программирование Android
Возможно ли подобное? Научился создавать &quot;на лету&quot; диалоги, подставляя xml и обработчики. Все устраивает, кроме того что не на весь...

Возврат на предыдущую Activity - Программирование Android
Ребят, не получается вернуться на предыдущую активность. В классах каждой активити прописал @Override public void onBackPressed()...

Данные из DialogFragment в Activity - Программирование Android
Всем добрый день, помогите пож. советом. Программировать начал неделю назад поэтому вопрос думаю элементарный, но все-же... Ниже...

Переход на новую activity - Программирование Android
возникла проблема как определить какая кнопка была нажата на другой форме, исходя из этого будут отображаться данные

Обновление данных в activity - Программирование Android
Всем доброй ночи! Как обновить данные в активити при возврате из диалога или из другой активити, т.е. когда фокус возвращается на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Razangann
11 / 11 / 0
Регистрация: 11.01.2013
Сообщений: 135
02.03.2014, 23:28  [ТС]     Запрет выполнение Activity из-за энергосбережения #7
Сервис уже запущен...при блокировки он перехватывает событие блокировки и запускает активити, которое зажигает экран...при подключенном кабеле питания все работает нормально, но без него активити как бы запускается при ручной разблокировки телефона...((
Сейчас попробую этот класс...)

Добавлено через 2 минуты
Ох...мне тут наверное не разобраться)))))))))

Добавлено через 19 минут
Оппаа)) странный эффект) Сначала тестил на Lenovo s820 - не работало...теперь поставил на Galaxy Note 2, там работает....) на Lenovo стоит менеджер энергосбережения, скорее всего он блочит....)

Добавлено через 1 минуту
Можете еще посоветовать, как выключить экран?))) флага FLAG_TURN_SCREEN_OFF нету ведь))))
Yandex
Объявления
02.03.2014, 23:28     Запрет выполнение Activity из-за энергосбережения
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru