我在完成MainActivity时遇到问题。我打电话给MainActivity.this.finish();
,但它所做的就是移除屏幕一秒钟然后它返回。当我在菜单中选择“退出”选项时,我希望应用程序完全关闭。
我的应用程序的工作原理如下:
从Listener
转到LoginActivity
时,我没有完成Listener
,因为我仍然需要它运行。 LoginActivity
到MainActivity
也是如此。当我使用退出菜单项从finish()
转到MainActivity
时,我只会致电LoginActivity
。
使用adb shell dumpsys activity
我找到了我的任务记录(如下所示)
Running activities (most recent first):
TaskRecord{42fe4a38 #88 A com.example U 0}
Run #3: ActivityRecord{42809ce0 u0 com.example/.activity.MainActivity}
Run #2: ActivityRecord{425f8d80 u0 com.example/.activity.login.LoginActivity}
Run #1: ActivityRecord{425ec3d8 u0 com.example/.activity.CallListener}
TaskRecord{429dc7f8 #2 A com.android.launcher U 0}
Run #0: ActivityRecord{429da420 u0 com.android.launcher/com.android.launcher2.Launcher}
mResumedActivity: ActivityRecord{42809ce0 u0 com.example/.activity.MainActivity}
mFocusedActivity: ActivityRecord{42809ce0 u0 com.example/.activity.MainActivity}
我的问题有两部分:
finish()
对此的任何帮助都会很棒。
由于
答案 0 :(得分:0)
要确保关闭所有活动,您可以运行下一个代码来完成:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
关于标记,您可以详细阅读here