Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
1

Ресивер на уровень заряда

14.05.2014, 08:11. Просмотров 809. Ответов 4
Метки нет (Все метки)

Как зарегистрировать ресивер на уровень заряда в манифесте?
умею из активити...
могу получать уровень заряда функцией по таймеру...

Но я пытаюсь обойтись БЕЗ активити... в крайнем случае через сервис...

XML
1
2
3
4
5
6
7
8
        <receiver
            android:name=".receiver.receiver_My"
            android:enabled="true"
            >
            <intent-filter>
                <action android:name="android.intent.action.BATTERY_CHANGED"/>
            </intent-filter>
        </receiver>
Java
1
2
3
4
5
public class receiver_My extends BroadcastReceiver {
 
    @Override
    public void onReceive(Context context, Intent intent) {
//... не срабатывает...
А если через активити, то работает:
в onCreate
Java
1
registerReceiver(this.mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
и
Java
1
2
3
4
5
6
7
    private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver(){
        @Override
        public void onReceive(Context arg0, Intent intent) {
            int level = intent.getIntExtra("level", 0);
            Log.i("Уровень заряда из ресивера: " + level);
        }
    };
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2014, 08:11
Ответы с готовыми решениями:

Ресивер ответа абонента, которому звоним
Добрый день. В моем телефоне на android нету функции автозаписи телефонных...

Не срабатывает ресивер если приложение остановлено
Манифест: &lt;receiver ...

Индикатор заряда
Доброго времени суток.Подскажите,как создать свой ProgressBar,который будет...

GPS велокомпьютер и экономия заряда аккумулятора
хочу написать программу &quot;велокомпьютер&quot; с подсчетом пройденного расстояния и...

Узнать на сколько ВРЕМЕНИ осталось заряда
Собственно САБЖ! У меня an4.01. Не находил стандартных утилит расчета. Но на...

4
Netscape
374 / 361 / 52
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
14.05.2014, 11:04 2
Лучший ответ Сообщение было отмечено Tester64 как решение

Решение

А в чем проблема?
Это нормальное поведение, в документации так и написано:
http://developer.android.com/referen...ATTERY_CHANGED
You can not receive this through components declared in manifests, only by explicitly registering for it with Context.registerReceiver(). See ACTION_BATTERY_LOW, ACTION_BATTERY_OKAY, ACTION_POWER_CONNECTED, and ACTION_POWER_DISCONNECTED for distinct battery-related broadcasts that are sent and can be received through manifest receivers.
Добавлено через 1 минуту
Костыль:
http://stackoverflow.com/questions/6...attery-changed
1
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
14.05.2014, 14:00  [ТС] 3
Спасибо... примерно понял (английский пока только со словарем/переводчиком), но не понял в чем проблема... Похоже очередная недоработка/странность гугла...
0
Netscape
374 / 361 / 52
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
14.05.2014, 14:14 4
Так проблемы и нет, просто такое ограничение, что на некоторые события (их всего пару штук) нельзя подписаться в манифесте и все.
0
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
14.05.2014, 15:33  [ТС] 5
Цитата Сообщение от Netscape Посмотреть сообщение
просто такое ограничение
Как по мне - странное ограничение... Пониманию новичком не подлежит... Несколько раз брался на основе уроков по ресиверам и обламывался. И ведь согласно урокам - все правильно - есть ресивер, а в нем тишина...

но... проблема решена! Программа заработала... сейчас запустил тестовый пример - на каждое изменние выводит нотификэйшн со значением заряда... потестирую недельку... Потом начну усложнять логику... Лишь бы сама не зависала, тихо не умирала...
0
14.05.2014, 15:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2014, 15:33

Как скрыть в приложении вверху строку, где индикатор заряда
Доброго дня всем. Подскажите пожалуйста как скрыть вверху приложения строку ...

Повысить уровень ООМ
Возможно ли повысить уровень ООМ чтобы программа не закрывалась при нехватки...

Пройти уровень, головоломка
Передираю уровни для игры. Для открытия уровня нужно пройти предыдущий. Дошел...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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