我将从活动A转到活动B,然后反向,在活动A中,我有退出按钮,当我点击退出它没有退出时,我必须按两次退出应用程序当我从活动返回时B到活动A. 请帮忙
答案 0 :(得分:1)
这意味着您的活动在内存中有多个实例。如果要关闭所有这些,可以在onResume中注册广播接收器,此广播接收器将在活动上调用finish()。您的退出按钮然后发送此接收器接收的广播意图
类似以下内容...
在您的活动中定义:
BroadcastReceiver activityKillerOnTheLoose = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
finish();
}
};
你的onResume方法中的(注册接收广播)
@Override
public void onResume()
{
super.onResume();
registerReceiver(
activityKillerOnTheLoose,
new IntentFilter(ActivityKillerBroadcastKey));
你的onPause中的(确保取消注册!)
@Override
public void onPause()
{
super.onPause();
unregisterReceiver(activityKillerOnTheLoose);
并播出......
Intent activityKillerBroadcast = new Intent(ActivityKillerBroadcastKey);
sendBroadcast(activityKillerBroadcast);
答案 1 :(得分:1)
你打电话退出什么功能?
使用Android,如果你从一个Activity转到另一个Activity,它们会被推到一个堆栈上,所以当你使用后退按钮时,它会立即弹出顶部的活动。
有关如何处理此问题的一些讨论,您可以查看以下问题: How to dismiss previous activities in android at a certain point?
或者,这可能是一个更好的问题: Closing several android activities simultaneously