我使用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调用会发生什么,之后我调用我的界面函数?
答案 0 :(得分:0)
即使在调用onDestroy()方法之后,类中实现的方法也会被调用。
但您无法再访问活动上下文或与UI相关的任何内容。
在设置广播接收器时,您应该在start()和stop()生命周期回调中注册和取消注册。如果不这样做会给你内存泄漏例外。
在良好的Android编程实践中,通常会尝试避免在调用onDestroy()之后保存与活动上下文相关的对象引用的情况。
答案 1 :(得分:0)
我认为您应该将意图发送到您的活动(并根据需要设置您的活动singleTop或singleTask或SingleIntance)而不是接口。