gpt4 book ai didi

java - 如何调用服务类中的 Activity 方法?

转载 作者:行者123 更新时间:2023-12-02 11:36:39 25 4
gpt4 key购买 nike

这里我尝试从音频服务类调用主 Activity 类的方法。但是当我调用这样的方法时:-

new HomeActivity().previousChannel();

此时 Activity 类方法被调用,但它也自动调用了 oncreate() 方法。

请帮助我。

最佳答案

我更喜欢你使用EventBus来进行类、 fragment 、服务之间的通信,无论它是什么。它非常简单,最可靠和高效。

仅需 3 个步骤即可实现:

1.定义事件。

public static class MessageEvent { /* Additional fields if needed */ }

2.准备订阅者:声明并注释您的订阅方法,可以选择指定线程模式:

@Subscribe(threadMode = ThreadMode.MAIN)  
public void onMessageEvent(MessageEvent event) {/* Do something */};

注册和取消注册您的订户。例如,在 Android 上, Activity 和 fragment 通常应根据其生命周期进行注册:

 @Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}

@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}

3.发布 Activity 。

 EventBus.getDefault().post(new MessageEvent());

更多详情您可以查看here.

希望对您有帮助。

关于java - 如何调用服务类中的 Activity 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48882928/

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