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

标签 android service

fragment 中有两个按钮 - 启动和停止服务按钮。在初始状态下,启动按钮启用,停止按钮禁用。当我单击“开始按钮”时,按钮状态发生变化。 -这意味着开始按钮被禁用,停止按钮被启用。在服务中,我检查 gps 状态。如果 gps 被禁用,我调用 stopself 方法来销毁服务。调用 stopself 方法后,我想更改 fragment 中的按钮状态。但我没有找到任何解决方案。我该怎么做?

最佳答案

您可以使用以下选项。

在您的 fragment 中。

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

关于Android服务stopself方法改变按钮状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52516769/

相关文章:

来自 Play 商店的 Android 应用程序更新

android - 使用 ProGuard 时是否可以混淆 GSON 注释中的字符串?

java - 捕获位图并添加水印

android - 如何通过邮件 FIREBASE 判断用户是否更改了密码

asp.net - 我可以使用 Windows 窗体 GUI 创建 ASP.NET Core Web 服务吗?

android - Android 中的关机事件

Android - 使用来自网络的数据通过服务更新小部件。最好的方法?

android - 当我使用 python 在 appium 中运行测试时,如何防止每次重新安装应用程序

Grails 服务事务

android - 如何启动仅限服务的 Android 应用