Android-метод stopself для изменения состояния кнопки - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть две кнопки - запуск и остановка сервисных кнопок - во фрагменте.В исходном состоянии кнопка запуска включена, а кнопка остановки отключена.Когда я нажимаю кнопку «Пуск», состояния кнопок меняются.-Это означает, что кнопка запуска отключена, а кнопка остановки включена.В сервисе проверяю состояние gps.Если GPS отключен, я вызываю метод stopself, чтобы уничтожить службу.После вызова метода stopself я хочу изменить состояния кнопок во фрагменте.Но я не нашел никакого решения.Как я могу это сделать?

1 Ответ

0 голосов
/ 26 сентября 2018

Вы можете использовать следующую опцию.

В вашем фрагменте.

//In your on Create method 
IntentFilter updateState = new IntentFilter();
updateState.addAction("UPDATE_BUTTON_STATE");
registerReceiver(updateStatueReceiver, updateState);


    private BroadcastReceiver updateStatueReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            if (intent.getAction().equals("UPDATE_BUTTON_STATE")) {
                // Here you can update your button state
            }
        }
    };

//unregister Receiver in on Destroy method 
unregisterReceiver(updateStatueReceiver);

В вашем классе обслуживания

Вы можете отправить трансляцию с помощью этого кода

Intent broadCastIntent = new Intent();
broadCastIntent.setAction("UPDATE_BUTTON_STATE");
sendBroadcast(broadCastIntent);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...