您好,登錄后才能下訂單哦!
Android 退出應用程序的實現方法
android 退出應用程序會調用android.os.Process.killProcess(android.os.Process.myPid())或是System.exit(0),這只是針對第一個Activity(也就是入口的Activity)時生效。如果有A,B,C三個Activity,而想在B 或C 中Activity 退出,調用上面的方法,往往會銷毀當前的Activity 返回上一個Activity。當然也可以逐個返回上一個Activity,直到跳轉到入口的Activity,最后退出應用程
序。但這樣比較麻煩,而且逐個返回的體驗并不友好。下面這種方法是寫一個SysApplication 類,利用單例模式管理Activity,在每個在Activity 的onCreate()方法中調用ExitApplication.getInstance().addActivity(this)方法,在退出時調用ExitApplication.getInstance().exit()方法,就可以完全退出應用程序了。
import java.util.LinkedList; import java.util.List; import android.app.Activity; import android.app.Application; public class SysApplication extends Application{ private List<Activity> mList = new LinkedList<Activity>(); private static SysApplication instance; private SysApplication() { } public synchronized static SysApplication getInstance() { if(null == instance) { instance = new SysApplication(); } return instance; } //add Activity public void addActivity(Activity activity) { mList.add(activity); } public void exit() { try{ for (Activity activity : mList) { if(activity != null) activity.finish(); } }catch (Exception e){ e.printStackTrace(); }finally{ System.exit(0); } } public void onLowMemory(){ super.onLowMemory(); System.gc(); } }
在每個activity 的onCreate中調用SysApplication.getInstance().addActivity(this);
然后在退出應用的時候調用SysApplication.getInstance().exit();
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。