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