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

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

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

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

02.03.2014, 22:19. Просмотров 709. Ответов 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" />
Вот....подскажите пожалуйста)) Заранее благодарен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2014, 22:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Запрет выполнение Activity из-за энергосбережения (Программирование Android):

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

Приложение зависает, если свернуть и развернуть Activity или перейти на другую Activity - Программирование Android
У меня в параллельном потоке происходит куча apply() Решение использовать apply вместо commit было принято из-за скорости. Но...

Изменение layout-элементов одного activity из другого activity - Программирование Android
Здравствуйте! Я хочу изменить размер или цвет текста TextView в одном activity из второго activity, каким образом мне можно это...

Android - Передача данных с одного Activity на другое Activity - Программирование Android
Здравствуйте , возникла необходимость получения числовых (int и float ну или double) данных в одном Activity , а обработка и вывод...

Вызвать из одной activity функцию другой activity - Программирование Android
вызвать из одного activity функцию другой activity Подскажите, можно ли такое реализовать? Допустим у меня есть основная активити и...

Из одной Activity запустить функцию другой Activity - Программирование Android
например есть Activity2 которое я показываю в Dialog окошке, там у меня находятся Date and Time Picker ы (Дата - начало, Дата - окончание)...

6
Netscape
373 / 360 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
02.03.2014, 22:27 #2
Включение экрана
1
Razangann
12 / 12 / 0
Регистрация: 11.01.2013
Сообщений: 135
02.03.2014, 22:34  [ТС] #3
Не помогло...( все равно активность запускается после разблокировки устройства вручную....
0
Netscape
373 / 360 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
02.03.2014, 22:41 #4
Через wakelock и disableKeyguard тоже не работает ?
0
Razangann
12 / 12 / 0
Регистрация: 11.01.2013
Сообщений: 135
02.03.2014, 22:58  [ТС] #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() устаревший....(
0
Netscape
373 / 360 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
02.03.2014, 23:01 #6
Цитата Сообщение от Razangann Посмотреть сообщение
режим энергосбережения блокирует запуск активити
точно только активити ? сервис запускается ?
можно попробовать использовать этот класс
https://github.com/commonsguy/cwac-w...ntService.java
0
Razangann
12 / 12 / 0
Регистрация: 11.01.2013
Сообщений: 135
02.03.2014, 23:28  [ТС] #7
Сервис уже запущен...при блокировки он перехватывает событие блокировки и запускает активити, которое зажигает экран...при подключенном кабеле питания все работает нормально, но без него активити как бы запускается при ручной разблокировки телефона...((
Сейчас попробую этот класс...)

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

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

Добавлено через 1 минуту
Можете еще посоветовать, как выключить экран?))) флага FLAG_TURN_SCREEN_OFF нету ведь))))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2014, 23:28
Привет! Вот еще темы с ответами:

Из одного Activity получить значение другого Activity - Программирование Android
Запускаю активити: public class MainActivity extends Activity { ... ... Intent intent = new Intent(getBaseContext(),...

Как вызвать Activity не из Activity? - Программирование Android
Приложение перехватываем входящие СМС. Есть класс унаследованный от BroadcastReceiver, который обозначен в манифесте как приемник...

Создание Activity в другом Activity - Программирование Android
Нормально ли создавать экземпляр какого-либо Activity в текущем Activity? Дело в том, что код, нужный для работы с данными находится в...

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


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
02.03.2014, 23:28
Ответ Создать тему
Опции темы

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