我想从其他活动中完成一项活动

时间:2013-03-14 08:52:31

标签: android

我有两个活动。第一个活动是带暂停按钮的游戏屏幕,第二个活动是恢复和重启按钮。当我点击游戏屏幕上的暂停按钮然后我进入第二个活动,当我点击重启按钮然后我想要完成第一个活动(游戏画面)并想开始新游戏所以这是我的问题如何完成第一个活动请帮帮我

3 个答案:

答案 0 :(得分:3)

建议你在你的onReceive()&无论何时你想退出,你都可以简单地传递一个表明所有活动都必须关闭的意图.....尽管确保你在onDestroy()方法中“取消注册”接收者。

类似这样的事情

            @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        IntentFilter filter = new IntentFilter();
        filter.addAction("end");
        receiver = new BroadcastReceiver() {

            @Override
            public void onReceive(Context context, Intent intent) {
                // TODO Auto-generated method stub
                finish();
            }
        };
        registerReceiver(receiver, filter);
}


  protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
         unregisterReceiver(receiver);
    }

如果您希望从其他活动中完成此操作,请执行此操作

Intent i = new Intent("end");
                sendBroadcast(i);

答案 1 :(得分:1)

这会杀死所有热门活动并开始新的活动NewGame。

Intent intent = new Intent(getApplicationContext(), NewGame.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

答案 2 :(得分:1)

选项1: 使用碎片

选项2: 从第一个活动开始使用startActivityForResult然后在onActivityResult中完成第二个活动的cathc时。完成第一项活动然后开始游戏。

选项3: 发送广播消息,并在第一个活动中接收并完成。

可能还有其他选择。只是放下我脑海中立刻出现的一些选项。如果我是你,我会使用选项1