android點擊返回鍵,如何做到不destory當前activity,只是stop。重新返回該activity的 時候可以直接使用,不需要創建新的activity實例


問題描述,如題目:

android點擊返回鍵,順序執行 pause,stop,destory.

以至於想重新進入這個activity的時候還要重新執行onCreate()方法,那么如何解決不再重新執行onCreate()方法呢?

 

首先,所操作的activity需要在清單文件AndroidManifest.xml中把添加屬性android:launchMode="singleInstance

如圖,我要操作的是GoUI這個activity

 

然后,在你需要操作的activity里面重寫下面這個方法:

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode==KeyEvent.KEYCODE_BACK){
            moveTaskToBack(true);
            return false;
        }
        return super.onKeyDown(keyCode, event);
    }

 

監聽按鍵,如果是返回鍵,則把當前activity添加到后台,而不是慣例似的destory掉。return false與return true的結果是不一樣的,前者返回鍵是回到上一個activity,后者會直接最小化應用,重新進入應用之后首先就會看到你所操作的這個avtivity!

 

運行之后,實現的效果是:

從activityA進入到activityB,再從B進入到activityC(我操作的是activityC),然后返回B,再返回A。A中有個按鈕可以直接到C,點擊之后,就會發現C的onCreate方法不會被執行。該activityC只是從stop狀態解除,重新運行。

下面是activityC經歷的一切:

creat-->start-->resume-->RUNNING-->pause-->stop-->restart-->start-->resume-->RUNNING

不過這么做就會導致如果過你想把這個activity關掉就需要大費周折了。除非是直接KILL你的APP。

話說回來,既然你有本文這個需求,應該來說這個activity也不想關掉把哈哈!

 

歡迎關注微信公眾號“ **IT客**“ ,投稿郵箱 itkeyy@163.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM