1. 程式人生 > >使Activity關閉後不執行onDestroy()

使Activity關閉後不執行onDestroy()

重寫finish()方法:@Overridepublic void finish() {//super.finish();
moveTaskToBack(true);//設定該activity永不過期,即不執行onDestroy()}  

呼叫moveTaskToBack(true),這樣只有在第一次啟動的時候會執行onCreate()。以後(只要程序不死掉)都不會執行onCreate()

///////////////////////////////////////////////////////////////////////////////////

moveTaskToBack()方法:在activity中呼叫 moveTaskToBack (boolean nonRoot)方法即可將activity 退到後臺,注意不是finish()退出。

引數說明:

引數為false——代表只有當前activity是task根,指應用啟動的第一個activity時,才有效;

引數為true——則忽略這個限制,任何activity都可以有效。

說明:判斷Activity是否是task根,Activity本身給出了相關方法:isTaskRoot()

moveTaskToBack呼叫後,task中activity的順序不會發生變化,例如A啟動B,B中呼叫此方法退到後臺,重新啟動應用會呼叫B中的onRestart-onStart-onResume方法,不會重新呼叫onCreate,而且在B中按下back鍵返回的還是A,這就是退到後臺的功能。

相關推薦

使Activity關閉執行onDestroy()

重寫finish()方法:@Overridepublic void finish() {//super.finish();moveTaskToBack(true);//設定該activity永不過期,即不執行onDestroy()}  呼叫moveTaskToBack(tru

設定Activity永不過期,即執行onDestroy()

轉載自:http://www.cnblogs.com/linjiqin/archive/2011/12/15/2289251.html /** * 重寫finish()方法 */ @Override public void finish() { //su

Hibernate 註解序列生成主鍵執行完select seq_t_user.nextval執行insert等語句導致 執行save()或update()方法無效

hiberna 不能 nal 自動提交 ext 無效 pen mave ransac 題主解決方法: 1)在DAO中獲取session的時候采用sessionFactory.getCurrentSession();不用

解決IOS微信內置瀏覽器返回執行js腳本的問題

style load 返回 on() cti 發現 bsp 內置瀏覽器 false 在A頁面寫一個$(function(){}) 後隨便點擊一個URL跳轉到B頁面 利用微信內置瀏覽器 返回鍵返回到A頁面後發現這段JS不執行,後來找到了解決方案 $(f

ajax提交請求執行成功執行success,而是執行error

js方法: //儲存 function save() { $.ajax({ type:'POST', url:'<%=basePath%>user/addUser', data:$('#form1').serialize(), dataType: 'json'

Activity關閉,網路請求回撥的處理

當我們在使用網路請求的時候,一般都是通過回撥來獲取請求到的資料。對於網路請求的回撥需要注意的幾個點 比如我們的回撥在Activity中處理資料,當我們把Activity關閉後,如果獲取到資料時,就算我們的Activity被finish回撥還是會執行,那麼這個時候我們在回

linux後臺執行程式(secureCRT斷掉或關閉繼續執行程式)

secureCRT斷掉後想繼續執行程式。也就是程式會在後臺一直執行到結束。 secureCRT通過ssh聯接到client端執行程式,如果關掉視窗或者斷開連線時,任務會被kill。 為了程式能夠後臺執行到結束: 1.可以用&: 比如 Python test.p

執行緒建立執行問題

#include<stdio.h>#include<pthread.h>int i = 0;static void* print_message_function( void *ptr );int main(int argc ,char** argv ){        pthread

如何在Linux中使SpringBoot專案關閉終端關閉專案程序

    編寫一個shell指令碼,名字是startup.sh #!/bin/sh nohup java -jar /usr/Bean/FoodSystem.jar &   執行指令碼 ./startup.sh 出現下圖問題,

VS 2017 執行完程式迅速關閉視窗(讓視窗一閃而過的方法)——解決辦法

VS 2017中 程式執行完後,希望視窗繼續保留。 方法一 在 return 0; 語句前面新增一句:system("pause");  下面是測試程式; #include<iostream

springboot 打jar包並執行,關閉xshell關閉程式

1:修改pom改為打jar包 <version>0.0.1</version> <packaging>jar</packaging> 2:在專案資料夾下面使用命令  mvn clean install -Dmaven.te

如何在bat檔案執行完畢自動關閉視窗

本文參考自:http://stackoverflow.com/questions/886848/how-to-make-windows-batch-file-pause-when-double-clicked/12036163#12036163 專案中,經常需要寫一些批處

js實現每次程序發送一個數據 ,多次發送一樣,5秒繼續執行多次程序,判斷如果五秒發送過來的數據和上次一樣,少的刪除多的增加

增加 開始 後繼 tin key cli 監控 沒有 sop /*存儲設備ID*/var IDSNew = new Array();//判斷是否已經啟用服務var isopen = true;//需要放到接收設備數據處IDSNew[client.deviceId]=new

jquery 使用ajax,正常返回執行success的問題

原因 ron per type data com 嚴格 ann col 背景: 在使用到jQuery的ajax時,如果指定了dataType為json,老是不執行success回調,而是執行了error回調函數. 原因: 然後繼續下載了幾個

JS動態插入HTML執行後續JQUERY操作

class html body 點擊 執行 jquery 發現 不能 strong 通過js追加的html 發現 不能點擊 執行函數 普通綁定事件:$(‘.btn1‘).click(function(){}綁定 事件委托 解決方法: $("body").delega

ajax 動態載入html執行其中的js解決方法

cti 寫入 match IT 通過 如果 frame tro 其他 事件背景 有一個公用頁面需要在多個頁面調用,其中涉及到部分js已經寫在了公用頁面中,通過ajax加載該頁面後無法執行其中的js。 解決思路 1. 采用附加一個iframe的方法去執行js,為我等代碼潔癖者

Fiddler關閉開網頁

重新 https 電腦 如果 默認 五步 註銷 網頁 接收 今天項目系統測試的時候,CS客戶端的Restful請求都失敗,但是實際上的服務是正常開啟的,馬上通過cmd指令ping了一下服務,正常;再用telnet試了一下端口,也是正常。不過隨後發現在這臺電腦上面,也無法訪問

asp.net 按鈕執行前後臺方法——前臺彈出提示信息,確認繼續執行後臺方法,取消則執行後臺方法

一個 inf ret font AD itl 博客 www. asp.net 我們做一個測試的web頁面,只需要一個button+一個label就ok啦,通過button按鈕的後臺事件修改label的text屬性值來測試是否執行了後臺事件裏的代碼 前臺 寫一個js方法:

安裝jupyter使用時顯示找到命令(command not found)

原因很簡單 詳見這篇帖子找不到命令原因 解決方法 首先開啟終端,找到jupyter是否存在 發現了jupyter位置,注意bin檔案是存放命令的,所以我們把它新增到環境變數 sudo vim /etc/profile 新增如下程式碼 export PATH=$

linux筆記:安裝程式使用時顯示找到命令(command not found)

在linux中,用各種工具下載安裝程式後,使用時顯示找不到命令(command not found)解決方法 其實這個問題與在windows安裝程式後,在命令列下使用不了是一個原因:沒有配置環境變數 linux解決方法: linux中假如你安裝了一個A程式,在終端輸入 f