如何让主界面点击返回键直接退出程序,而不是又回到闪屏页?
来源:2-1 闪屏页实现
伍仃
2018-07-08 18:06:38
我在主界面的 onBackPressed()中加入System.exit(0),点击后退到了一个白屏页面,然后又自动运行闪屏页、主界面了。请问应该如何彻底退出呢?
3回答
underwater
2018-07-14
闪屏页startActivity的下一行补上finish();
栈里面没剩Activity了就直接返回桌面
重新打开APP重新调用onCreate()
irista23
2018-07-09
可以使用System.exit(0)或者Process.killProcess(Process.myPid()) 方法。两者虽然都是退出当前app,但还是有一些区别的:System.exit(0)是停止程序的虚拟机,只会影响当前的程序,而Process.killProcess(Process.myPid())是通过PID去杀死进程,所以它会杀掉所有PID一样的进程,也就是说整个程序的所有线程都会结束,整个程序完全退出。两者同时使用能确保应用被彻底结束。
伍仃
提问者
2018-07-08
补充:
在闪屏页中启动主界面后 加入finish();
然后主界面的onbackpressed()中加入system.exit(0);
代码:
闪屏页:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
handler.postDelayed(new Runnable() {
@Override
public void run() {
startActivity(new Intent(SplashActivity.this,MainActivity.class));
finish();
}
},2000);
}
主界面:
AlertDialog.Builder dialog=new AlertDialog.Builder(this);
dialog.setTitle("提示")
.setMessage("您要退出程序吗?")
.setPositiveButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
})
.setNegativeButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
System.exit(0);
}
})
.show();
不知道这样做是否可行,实际使用中会不会有啥问题呢?