如何让主界面点击返回键直接退出程序,而不是又回到闪屏页?

来源:2-1 闪屏页实现

伍仃

2018-07-08 18:06:38

我在主界面的 onBackPressed()中加入System.exit(0),点击后退到了一个白屏页面,然后又自动运行闪屏页、主界面了。请问应该如何彻底退出呢?

写回答

3回答

underwater

2018-07-14

闪屏页startActivity的下一行补上finish();

栈里面没剩Activity了就直接返回桌面

重新打开APP重新调用onCreate()


1

irista23

2018-07-09

可以使用System.exit(0)或者Process.killProcess(Process.myPid()) 方法。两者虽然都是退出当前app,但还是有一些区别的:System.exit(0)是停止程序的虚拟机,只会影响当前的程序,而Process.killProcess(Process.myPid())是通过PID去杀死进程,所以它会杀掉所有PID一样的进程,也就是说整个程序的所有线程都会结束,整个程序完全退出。两者同时使用能确保应用被彻底结束。

0

伍仃

提问者

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();

不知道这样做是否可行,实际使用中会不会有啥问题呢?


0
hrista23
h 可以这样用
h018-07-09
共1条回复

0 学习 · 7235 问题

查看课程