簡體   English   中英

Android代碼退出應用程序

[英]Android Code to exit from an application

如何關閉我的Android應用程序? 單擊退出按鈕后。 我嘗試了以下代碼finish(); System.exit(0); 但它只會返回到上一頁。 代碼應轉到應用程序菜單什么

否。Android不允許退出應用程序。 但是您可以使用以下代碼調出HOME屏幕:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);

但這是不可取的。

這不是直接退出應用程序的好方法。 您必須使用以下方法從“ Activity Stack刪除每個活動:

youractivity.this.finish(); 

  class A extends Activity
   {
       //like in this if u want to go to next activity by clicking a button, then in onClick() you have to write
     A.this.finish();
    }

首先,以編程方式退出應用程序是一種非常糟糕的做法。 您寧願讓操作系統以常規方式處理它。

如果您堅持要這樣做,則應采用這種方式。

  1. 使用標志Intent.FLAG_ACTIVITY_CLEAR_TOP調用應用程序中的第一個活動,該活動將完成當前在屏幕上的活動以及所有活動之間的活動。
  2. 現在,從第一個活動中,調用finish()

這樣做的好處是,將調用所有活動生命周期方法,並且應用程序將以正確的方式清理其資源。

finish()將銷毀您從中調用finish的活動。 因此您需要調用android.os.Process.killProcess(android.os.Process.myPid()); 它將殺死所有過程,包括您啟動的堆棧上的所有活動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM