gpt4 book ai didi

android - 在 onDestroy() 将变量从服务传输到已经打开的 Main-Activity

转载 作者:行者123 更新时间:2023-11-30 04:19:56 24 4
gpt4 key购买 nike

我有一个显示多个微调器的主 Activity 。通过主 Activity 中的切换按钮,我启动了一项服务,该服务在后台收集 GPS 数据,测量距离并设置一些其他变量。当我再次单击 Main-Activity 中的 Toggle-Button 停止服务时,我停止了服务,因此在服务中执行了 onDestroy() 命令。在服务的 onDestroy 中,我想将服务中的变量提交到已经打开的 Main-Activity。到目前为止,我在服务中尝试过但没有成功:

    Intent intent = new Intent(this, Main.class);
Bundle b = new Bundle();
Test = 2222;
b.putInt("Test", Test);
intent.putExtras(b);

我不使用“startActivity(intent);”,因为应该将数据发送到的 Activity 已经打开...Main-Activity。

在主要 Activity 方面:

    Bundle b = getIntent().getExtras();
if (b != null){
Test = b.getInt("Test");
}
else{
//..oops!
Toast.makeText(Main.this, "Oops...Nothing from service! :(", Toast.LENGTH_SHORT).show();
}

我从未从服务中获取数据。我正在尝试这个,因为我需要从 Main-Activity 启动服务,用户从 Main Activity 停止服务并从中获取值,然后 Main-Activity 应该从服务和所选微调器传输值从自身到另一个 Activity 的值(value)。

我已经尝试了好几天了,我也在这里找到了一些提示,但到目前为止对我没有任何效果。有人有什么想法吗?我必须使用广播接收器吗?执行此操作的正确方法是什么?

最佳答案

在销毁服务之前将数据存储在共享首选项中并在主 Activity 中访问它

关于android - 在 onDestroy() 将变量从服务传输到已经打开的 Main-Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9425967/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com