С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Домашний ПК как сервер для приложения, с чего начать? http://www.cyberforum.ru/android-dev/thread1918819.html
Здравия Всем и Добрых Вечеров! пришла пора разобраться с сетевыми технологиями, и на текущий момент интересует следующая задача: Есть приложение с LoginActivity и RecyclerView, так же есть...
Программирование Android Динамическое создание и заполнение Spinner-ов и получение выбранного в них элемента В базе имеется большой многоуровневый список. В приложении мне надо запрашивать список каждого уровень, в зависимости от выбранного родительского уровня. В приложении я создал Spinner, в который... http://www.cyberforum.ru/android-dev/thread1918713.html
Программирование Android Как сделать правильные пропорции у миниатюры картинки
Привет всем Сохраняю прямоугольную картинку, захожу в галерею, а там квадратная миниатюра не красивая. Скрин ниже. При открытии картинка нормальная, но именно миниатюра напрягает. Как исправить.?...
Программирование Android На какой тип Layout добавление View идёт быстрее
Если я хочу разместить 3 View в Layoutе. То в каком Layoutе View разместить быстрее(ну скорость добавления View выше) в LinearLayout в Frame или в Relative? И почему именно там скорость будет выше по...
Программирование Android Нужен ли мне LibGDX? http://www.cyberforum.ru/android-dev/thread1918374.html
Уважаемые программисты, подскажите, пожалуйста, мне ответ на следующий вопрос: - Я хочу написать очень простую игру (для себя... с целью изучения Java), в которой будут, грубо говоря, 4 картинки в...
Программирование Android OnStop и onDestroy в активити Если внутри активити происходит утечка памяти то оно упадет с OutofMemory и при этом методы onStop и onDestroy вызваны не будут. А как тогда освободить ресурсы(память) которые были выделены пока... подробнее
JavJun
12 / 10 / 5
Регистрация: 27.08.2015
Сообщений: 236
0

Чтение preferences в BroadcastReceiver

13.02.2017, 01:17. Просмотров 259. Ответов 5
Метки (Все метки)

Доброго времени суток.
Сам смысл того что я делаю: есть активити, которая отображает состояние батареи, есть активити настроек и есть сервис, который мониторит состояние батареи. В сервисе есть проверка настроек на включение сигнала при определенном уровне заряда, но не смотря на изменение настроек, в сервисе они не меняются. Меняются, только если полностью убить сервис и потом запустить снова.
Буду очень благодарен любой помощи или подсказке.

Код сокращен на сколько мог, что бы сэкономить ваше время, но и передать суть проблемы.

MainActivity.java
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        tv_temperature = (TextView) findViewById(R.id.temperature);
 
        notification.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent prefActiv = new Intent(MainActivity.this,PrefActivity.class);
                startActivity(prefActiv);
            }
 
        });
 
        registerReceiver(this.mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
        Intent intentService = new Intent(this,NotificationService.class);
        startService(intentService);
    }
 
 
    private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context c, Intent intent) {
            int temperature = intent.getIntExtra("temperature", 0);
 
            tv_temperature.setText("Temp: " + String.valueOf(tempC)
                    + "°C / "+String.valueOf(tempF)+ "°F");
 
        }
    };


AlarmPreference.java
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class AlarmPreference {
    private SharedPreferences prefs;
 
    AlarmPreference(Context context){
        prefs = context.getSharedPreferences("Alarm",Context.MODE_PRIVATE);
    }
 
    void setNotif(String value,Boolean choice){
        prefs.edit().putBoolean(value, choice).apply();
    }
 
    Boolean getNotif(String value){
        return prefs.getBoolean(value,false);
    }
 
}


BootReceiver.java
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
public class BootReceiver extends BroadcastReceiver {
 
    @Override
    public void onReceive(Context context, Intent intent) {
            Intent serviceIntent = new Intent(context, NotificationService.class);
            context.startService(serviceIntent);
    }
 
}


NotificationService.java
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public class MainActivity extends AppCompatActivity implements Constants {
 
 
  @Override
    public void onCreate() {
        super.onCreate();
        alarmPreference = new AlarmPreference(this);
        this.registerReceiver(this.mBatteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
    }
 
    public int onStartCommand(Intent intent, int flags, int startId) {
        return START_STICKY;
    }
 
    BroadcastReceiver mBatteryInfoReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
 
 
            if (isDischarging) {
 
                if(alarmPreference.getNotif(ALARM)) {
                    alarm = true;
                }
 
                Toast.makeText(getApplicationContext(), // проверяю, что не смотря на изменение настроек, тут они не меняются 
                        "ALARM: "+String.valueOf(alarmPreference.getNotif(ALARM)),Toast.LENGTH_SHORT).show();
 
            }
 
        }
 
    };


Вернуться к обсуждению:
Чтение preferences в BroadcastReceiver
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2017, 01:17
Готовые ответы и решения:

Preferences
Как проверить были ли хотя бы раз хранены данные с помощью Preferences

Preferences
Доброго всем дня. В android только начинаю разбираться. Пытаюсь сохранить...

Preferences из Applicaton
Нужно еще до открытия формы (в Application) получать и сохранять настройки. ...

BroadcastReceiver
У меня такой вопрос если я создал ресивер и прописал его в манифесте. Мой...

Preferences Framework: ActionBar
Всем привет! Недавно начал изучать Android. При написании программы я...

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