要从不同的活动接收到错误消息,可以使用广播(Broadcast)来实现。下面是一个使用广播的解决方法的代码示例:
首先,在发送错误消息的地方发送一个广播:
Intent intent = new Intent("com.example.ERROR_MESSAGE");
intent.putExtra("errorMessage", "这是一个错误消息");
sendBroadcast(intent);
然后,在需要接收错误消息的活动中注册广播接收器:
private BroadcastReceiver errorReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("com.example.ERROR_MESSAGE")) {
String errorMessage = intent.getStringExtra("errorMessage");
// 处理错误消息
}
}
};
@Override
protected void onResume() {
super.onResume();
IntentFilter intentFilter = new IntentFilter("com.example.ERROR_MESSAGE");
registerReceiver(errorReceiver, intentFilter);
}
@Override
protected void onPause() {
super.onPause();
unregisterReceiver(errorReceiver);
}
在上面的代码中,我们使用了一个自定义的广播动作"com.example.ERROR_MESSAGE"来发送和接收错误消息。当点击提交按钮时,发送一个带有错误消息的广播,并在需要接收错误消息的活动中注册广播接收器。当接收到广播时,通过getStringExtra()方法获取错误消息,并进行相应的处理。
请注意,为了确保广播接收器正常工作,需要在活动的onResume()方法中注册广播接收器,在onPause()方法中取消注册。这样可以确保只有在活动处于前台时才接收广播。