破坏后调用活动方法

时间:2017-07-17 05:31:51

标签: android service receiver

我使用FCM将消息和接收器广播到我的接收器

接收者代码:

 public class MessageReceiver extends BroadcastReceiver {

    private FCMInterface listener;

    public MessageReceiver(FCMInterface listener){

        this.listener = listener;
    }

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

    }
   }

我使用接口将我的接收器连接到活动(活动实现FCMInterface)

问题是如果活动onDestroy调用会发生什么,之​​后我调用我的界面函数?

2 个答案:

答案 0 :(得分:0)

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

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

在设置广播接收器时,您应该在start()和stop()生命周期回调中注册和取消注册。如果不这样做会给你内存泄漏例外。

在良好的Android编程实践中,通常会尝试避免在调用onDestroy()之后保存与活动上下文相关的对象引用的情况。

答案 1 :(得分:0)

我认为您应该将意图发送到您的活动(并根据需要设置您的活动singleTop或singleTask或SingleIntance)而不是接口。