所以,我有个问题!
我有一个名为x的活动。当用户单击按钮时,将显示活动y。
我希望在收到活动x发送的事件后可以关闭此活动。
你知道我该怎么做吗?

最佳答案

从x发送aBroadcastMessage。在y寄存器aBroadcastReceiver中使用相同的IntentFilter。因此,从x可以发送预定义的退出消息,该消息将被y活动的onReceive方法捕获。在那里你可以结束活动y。
例如:
在Y活动中

private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        Bundle extras = intent.getExtras();
        if (extras != null) {
            if (extras.containsKey("exit")) {
                finish();

            }
        }
    }

别忘了登记收信人
    registerReceiver(
            mMessageReceiver,
            new IntentFilter(Constants.YOUR_INTENT_FILTER));

并注销
unregisterReceiver( mMessageReceiver);

在X活动中:
send the broadcastmessage using `sendBroadcast(Intent i)`

对于这种内部消息,我更喜欢LocalBoradcastManager

关于android - Android-与其他 Activity 互动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16039271/

10-09 00:03