Android服务stopself方法更改按钮状态

时间:2018-09-26 11:33:44

标签: android service

我在片段中有两个按钮-开始和停止服务按钮。在初始状态下,启动按钮处于启用状态,而停止按钮处于禁用状态。当我单击“开始按钮”时,按钮状态会更改。 -表示禁用启动按钮,启用停止按钮。在服务中,我检查GPS状态。如果禁用了gps,我将调用stopself方法来破坏服务。调用stopself方法后,我想更改片段中的按钮状态。但是我没有找到任何解决方案。我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以使用以下选项。

在您的片段中。

//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);