销毁后调用 activity 方法

call activity method after destroy

我正在使用 FCM 获取消息并使用接收器向我的接收器广播消息

收件人代码:

 public class MessageReceiver extends BroadcastReceiver {

    private FCMInterface listener;

    public MessageReceiver(FCMInterface listener){

        this.listener = listener;
    }

    @Override
    public void onReceive(Context context, Intent intent) {

    }
   }

我正在使用一个接口将我的接收器连接到 activity(activity 实现了 FCMInterface)

问题是如果 activity onDestroy 调用然后我调用我的接口函数会发生什么?

即使在调用 onDestroy() 方法后,class 中实现的方法也会被调用。

但您无法再访问 activity 上下文或与 UI 相关的任何内容。

在设置广播接收器时,您应该在 start() 和 stop() 生命周期回调上注册和注销。不这样做会给你内存泄漏异常。

在良好的 android 编程实践中,您通常会尽量避免在调用 onDestroy() 后持有与 activity 上下文相关的对象引用的情况。

我认为您应该将意图发送到您的 activity(如果需要,请设置您的 activity singleTop 或 singleTask 或 SingleIntance)而不是界面。