亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種禁止后臺應(yīng)用自啟動方法及裝置與流程

文檔序號:11831215閱讀:525來源:國知局
一種禁止后臺應(yīng)用自啟動方法及裝置與流程

本發(fā)明涉及移動設(shè)備技術(shù)領(lǐng)域,尤其涉及一種禁止后臺應(yīng)用自啟動方法及裝置。



背景技術(shù):

安卓系統(tǒng)是一種開放源代碼的操作系統(tǒng),廣泛應(yīng)用于智能手機(jī)、平板電腦等移動終端。BroadCastReceiver(廣播接收器)和Service(服務(wù))是安卓系統(tǒng)中最重要的兩種組件。其中,BroadCastReceiver用來接收來自系統(tǒng)和應(yīng)用中的廣播并執(zhí)行廣播中的相關(guān)指令,以實(shí)現(xiàn)安卓系統(tǒng)內(nèi)的信息傳遞;Service為沒有用戶界面的在后臺運(yùn)行的應(yīng)用組件,一但Service被啟動,即使相應(yīng)的應(yīng)用程序被關(guān)閉,Service仍然會在后臺運(yùn)行而不被用戶察覺。

目前,安卓系統(tǒng)的某些應(yīng)用程序在非用戶主動運(yùn)行或者已經(jīng)被用戶禁用的情況下仍然會出現(xiàn)自啟動行為,自啟動的應(yīng)用程序?qū)⒃诤笈_繼續(xù)運(yùn)行,額外占用系統(tǒng)內(nèi)存,增加用戶流量開銷,給用戶帶來極大困擾。通常情況下,在移動終端開機(jī)完成后,安卓系統(tǒng)會生成一條系統(tǒng)開啟廣播,并在安卓系統(tǒng)內(nèi)傳遞。當(dāng)應(yīng)用程序的BroadCastReceiver接收到以上廣播后,則可以在不經(jīng)用戶同意的情況下實(shí)現(xiàn)開機(jī)自啟動功能。因此,當(dāng)禁用一些非用戶選擇的應(yīng)用程序的BroadCastReceiver后,應(yīng)用程序?qū)o法接收到系統(tǒng)開啟廣播,從而有效阻止其在開機(jī)時刻的自啟動行為。

但是,在系統(tǒng)運(yùn)行過程中,一旦用戶由于需要而啟動被禁用BroadCastReceiver的應(yīng)用程序,則BroadCastReceiver的禁用將被中止而失效,從而無法繼續(xù)阻止后臺應(yīng)用的自啟動行為。目前,某些應(yīng)用程序?yàn)榱朔乐贡幌到y(tǒng)或者用戶關(guān)閉而設(shè)置了雙進(jìn)程Service,其中一個進(jìn)程可以設(shè)置為后臺應(yīng)用的主進(jìn)程,另外一個可以設(shè)置為后臺應(yīng)用的守護(hù)進(jìn)程,當(dāng)主進(jìn)程被系統(tǒng)或者用戶關(guān)閉后,守護(hù)進(jìn)程可以通過調(diào)用主進(jìn)程的部分組件,將主進(jìn)程重新開啟,使得應(yīng)用程序繼續(xù)在后臺運(yùn)行。同樣的,當(dāng)守護(hù)進(jìn)程被系統(tǒng)或者用戶關(guān)閉后,主進(jìn)程也可以以同樣的方式重啟守護(hù)進(jìn)程,從而實(shí)現(xiàn)后臺應(yīng)用被系統(tǒng)或者用戶關(guān)閉后的自啟動。重新啟動并運(yùn)行的后臺應(yīng)用將額外占用系統(tǒng)內(nèi)存、影響手機(jī)運(yùn)行速度、增加用戶流量開銷,進(jìn)而降低用戶體驗(yàn)度。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明提供一種禁止后臺應(yīng)用自啟動方法及裝置,以解決現(xiàn)有技術(shù)中由于無法有效禁止后臺應(yīng)用自啟動而降低用戶體驗(yàn)度的技術(shù)問題。

本發(fā)明提供一種禁止后臺應(yīng)用自啟動方法,所述方法包括:

獲取第一應(yīng)用程序中各應(yīng)用包的初始信息,所述初始信息包括第一應(yīng)用程序中各應(yīng)用包包名以及與所述包名對應(yīng)的應(yīng)用包在第一應(yīng)用程序開啟前的初始狀態(tài),所述初始狀態(tài)為允許啟動狀態(tài)或禁止啟動狀態(tài);

獲取第一應(yīng)用程序切換至第二應(yīng)用程序后第一應(yīng)用程序關(guān)閉的目標(biāo)應(yīng)用包信息,所述目標(biāo)應(yīng)用包信息包括目標(biāo)應(yīng)用包包名;

將與所述目標(biāo)應(yīng)用包信息對應(yīng)的目標(biāo)應(yīng)用包恢復(fù)至對應(yīng)的初始狀態(tài)。

優(yōu)選的,所述獲取第一應(yīng)用程序切換至第二應(yīng)用程序后關(guān)閉的目標(biāo)應(yīng)用包信息包括:

獲取第一應(yīng)用程序切換至第二應(yīng)用程序后第二應(yīng)用程序開啟的各應(yīng)用包包名;

根據(jù)所述第一應(yīng)用程序中各應(yīng)用包包名與所述第二應(yīng)用程序開啟的各應(yīng)用包包名獲取目標(biāo)應(yīng)用包包名。

優(yōu)選的,所述獲取第一應(yīng)用程序中各應(yīng)用包的初始信息包括:

獲取第一應(yīng)用程序在開啟第一activity時對應(yīng)的各應(yīng)用包包名;

獲取開啟第一activity前一時刻與所述包名對應(yīng)的應(yīng)用包的初始狀態(tài)。

優(yōu)選的,所述獲取第一應(yīng)用程序切換至第二應(yīng)用程序后第一應(yīng)用程序關(guān)閉的目標(biāo)應(yīng)用包信息包括:

獲取第二應(yīng)用程序在開啟第二activity時對應(yīng)的各應(yīng)用包包名,所述第二activity為所述第一activity切換后對應(yīng)的activity;

根據(jù)所述第一應(yīng)用程序在開啟第一activity時對應(yīng)的各應(yīng)用包包名和所述第二應(yīng)用程序在開啟第二activity時對應(yīng)的各應(yīng)用包獲取第一應(yīng)用程序切換至第二應(yīng)用程序后關(guān)閉的目標(biāo)應(yīng)用包包名。

優(yōu)選的,所述方法在獲取第一應(yīng)用程序中各應(yīng)用包的初始信息之前還包括:

設(shè)置系統(tǒng)白名單,所述系統(tǒng)白名單包括允許自啟動的應(yīng)用程序信息;

判斷所述第一應(yīng)用程序是否包含在所述系統(tǒng)白名單內(nèi),若所述第一應(yīng)用程序不包含在所述系統(tǒng)白名單內(nèi),則獲取所述第一應(yīng)用程序中各應(yīng)用包的初始信息。

本發(fā)明還提供一種禁止后臺應(yīng)用自啟動裝置,所述裝置包括:

初始信息獲取模塊,所述初始信息獲取模塊用于獲取第一應(yīng)用程序中各應(yīng)用包的初始信息,所述初始信息包括第一應(yīng)用程序中各應(yīng)用包包名以及與所述包名對應(yīng)的應(yīng)用包在第一應(yīng)用程序開啟前的初始狀態(tài),所述初始狀態(tài)為允許啟動狀態(tài)或禁止啟動狀態(tài);

目標(biāo)應(yīng)用包信息獲取模塊,所述目標(biāo)應(yīng)用包信息獲取模塊用于獲取第一應(yīng)用程序切換至第二應(yīng)用程序后第一應(yīng)用程序關(guān)閉的目標(biāo)應(yīng)用包信息,所述目標(biāo)應(yīng)用包信息包括目標(biāo)應(yīng)用包包名;

初始狀態(tài)恢復(fù)模塊,所述初始狀態(tài)恢復(fù)模塊用于將與所述目標(biāo)應(yīng)用包信息對應(yīng)的目標(biāo)應(yīng)用包恢復(fù)至對應(yīng)的初始狀態(tài)。

優(yōu)選的,所述目標(biāo)應(yīng)用包信息獲取模塊包括:

第一包名獲取子模塊,所述第一包名獲取子模塊用于獲取第一應(yīng)用程序切換至第二應(yīng)用程序后第二應(yīng)用程序開啟的各應(yīng)用包包名;

第一目標(biāo)應(yīng)用包包名獲取子模塊,所述第一目標(biāo)應(yīng)用包包名獲取子模塊用于根據(jù)所述第一應(yīng)用程序中各應(yīng)用包包名與所述第二應(yīng)用程序開啟的各應(yīng)用包包名獲取目標(biāo)應(yīng)用包包名。

優(yōu)選的,所述初始信息獲取模塊包括:

第二包名獲取子模塊,所述第二包名獲取子模塊用于獲取第一應(yīng)用程序在開啟第一activity時對應(yīng)的各應(yīng)用包包名;

初始狀態(tài)獲取子模塊,所述初始狀態(tài)獲取子模塊用于獲取開啟第一activity前一時刻與所述包名對應(yīng)的應(yīng)用包的初始狀態(tài)。

優(yōu)選的,所述目標(biāo)應(yīng)用包信息獲取模塊包括:

第三包名獲取子模塊,所述第三包名獲取子模塊用于獲取第二應(yīng)用程序在開啟第二activity時對應(yīng)的各應(yīng)用包包名,所述第二activity為所述第一activity切換后對應(yīng)的activity;

第二目標(biāo)應(yīng)用包包名獲取子模塊,所述第二目標(biāo)應(yīng)用包包名獲取子模塊用于根據(jù)所述第一應(yīng)用程序在開啟第一activity時對應(yīng)的各應(yīng)用包包名和所述第二應(yīng)用程序在開啟第二activity時對應(yīng)的各應(yīng)用包獲取第一應(yīng)用程序切換至第二應(yīng)用程序后關(guān)閉的目標(biāo)應(yīng)用包包名。

優(yōu)選的,所述裝置還包括:

系統(tǒng)白名單設(shè)置模塊,所述系統(tǒng)白名單設(shè)置模塊用于設(shè)置系統(tǒng)白名單,所述系統(tǒng)白名單包括允許自啟動的應(yīng)用程序信息;

判斷模塊,所述判斷模塊用于判斷所述第一應(yīng)用程序是否包含在所述系統(tǒng)白名單內(nèi),若所述第一應(yīng)用程序不包含在所述系統(tǒng)白名單內(nèi),則獲取所述第一應(yīng)用程序中各應(yīng)用包的初始信息。

本發(fā)明的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:

本發(fā)明提供一種禁止后臺應(yīng)用自啟動方法及裝置,所述方法包括:獲取第一應(yīng)用程序中各應(yīng)用包的初始信息,所述初始信息包括第一應(yīng)用程序中各應(yīng)用包包名以及與所述包名對應(yīng)的應(yīng)用包在第一應(yīng)用程序開啟前的初始狀態(tài),所述初始狀態(tài)為允許啟動狀態(tài)或禁止啟動狀態(tài);獲取第一應(yīng)用程序切換至第二應(yīng)用程序后第一應(yīng)用程序關(guān)閉的目標(biāo)應(yīng)用包信息,所述目標(biāo)應(yīng)用包信息包括目標(biāo)應(yīng)用包包名;將與所述目標(biāo)應(yīng)用包信息對應(yīng)的目標(biāo)應(yīng)用包恢復(fù)至對應(yīng)的初始狀態(tài)。本發(fā)明首先獲取第一應(yīng)用程序中各應(yīng)用包的初始信息,即第一應(yīng)用程序中各應(yīng)用包包名以及對應(yīng)的初始狀態(tài),并根據(jù)以上對應(yīng)關(guān)系將第一應(yīng)用程序切換至第二應(yīng)用程序后第一應(yīng)用程序關(guān)閉的目標(biāo)應(yīng)用包恢復(fù)至對應(yīng)的初始狀態(tài)。即初始狀態(tài)若為允許啟動狀態(tài),則將目標(biāo)應(yīng)用包再次恢復(fù)至允許啟動狀態(tài);初始狀態(tài)若為禁止啟動狀態(tài),則將目標(biāo)應(yīng)用包再次恢復(fù)至禁止啟動狀態(tài),從而確保安卓系統(tǒng)運(yùn)行過程中后臺應(yīng)用的狀態(tài)一直與初始狀態(tài)相一致,進(jìn)而保證包括開機(jī)時刻在內(nèi)的任意時刻,后臺應(yīng)用均無法通過雙進(jìn)程守護(hù)等方式實(shí)現(xiàn)自啟動行為,最終有效降低手機(jī)的待機(jī)時間、提高手機(jī)的響應(yīng)速度以及用戶體驗(yàn)度。

應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。

附圖說明

圖1是本發(fā)明實(shí)施例中提供的一種禁止后臺應(yīng)用自啟動方法的流程圖;

圖2是本發(fā)明實(shí)施例中提供的步驟S200的方法流程圖;

圖3是本發(fā)明實(shí)施例中提供的另一種禁止后臺應(yīng)用自啟動方法的流程圖;

圖4是本發(fā)明實(shí)施例中提供的第三種禁止后臺應(yīng)用自啟動方法的流程圖;

圖5是本發(fā)明實(shí)施例中提供的一種禁止后臺應(yīng)用自啟動裝置的結(jié)構(gòu)示意圖;

圖6是本發(fā)明實(shí)施例中提供的目標(biāo)應(yīng)用包信息獲取模塊200的結(jié)構(gòu)示意圖;

圖7是本發(fā)明實(shí)施例中提供的另一種禁止后臺應(yīng)用自啟動裝置的結(jié)構(gòu)示意圖;

圖8是本發(fā)明實(shí)施例中提供的第三種禁止后臺應(yīng)用自啟動裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

這里將詳細(xì)地對示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置的例子。

本說明書中的各個實(shí)施例均采用遞進(jìn)的方式描述,各個實(shí)施例之間相同相似的部分互相參見即可,每個實(shí)施例重點(diǎn)說明的都是與其它實(shí)施例的不同之處。

以上所述的本發(fā)明實(shí)施方式,并不構(gòu)成對本發(fā)明保護(hù)范圍的限定。任何在本發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

請參考圖1,所示為本發(fā)明實(shí)施例中提供的一種禁止后臺應(yīng)用自啟動方法的流程圖。

由圖1可見,本發(fā)明提供的一種禁止后臺應(yīng)用自啟動方法包括以下步驟:

步驟S100:獲取第一應(yīng)用程序中各應(yīng)用包的初始信息。

所述初始信息包括第一應(yīng)用程序中各應(yīng)用包包名以及與所述包名對應(yīng)的應(yīng)用包在第一應(yīng)用程序開啟前的初始狀態(tài),所述初始狀態(tài)為允許啟動狀態(tài)或禁止啟動狀態(tài)。本實(shí)施例中第一應(yīng)用程序中各應(yīng)用包的初始信息存儲至mHashmap(哈希映射)中,第一應(yīng)用程序中各應(yīng)用包包名為哈希映射的關(guān)鍵字,根據(jù)應(yīng)用包包名可以獲取哈希映射中對應(yīng)的應(yīng)用包的初始狀態(tài)。

在獲取第一應(yīng)用程序中各應(yīng)用包的初始信息之前,可以預(yù)先設(shè)置系統(tǒng)內(nèi)所有應(yīng)用程序中各應(yīng)用包的初始信息,即預(yù)先設(shè)置系統(tǒng)內(nèi)各應(yīng)用包的初始狀態(tài)。如可以將某些常用應(yīng)用程序中的某一個或某一些應(yīng)用包設(shè)置為允許啟動狀態(tài);對于系統(tǒng)內(nèi)使用頻率較低的應(yīng)用程序,為了防止因其后臺應(yīng)用的自啟動行為而額外消耗流量、占用系統(tǒng)內(nèi)存,可以將以上應(yīng)用程序內(nèi)所有的應(yīng)用包均設(shè)置為禁止啟動狀態(tài)。

步驟S200:獲取第一應(yīng)用程序切換至第二應(yīng)用程序后第一應(yīng)用程序關(guān)閉的目標(biāo)應(yīng)用包信息。

所述目標(biāo)應(yīng)用包信息包括目標(biāo)應(yīng)用包包名。

請參考圖2,所示為本發(fā)明實(shí)施例中提供的步驟S200的方法流程圖。

由圖2可見,步驟S200還可以包括以下步驟:

步驟S201:獲取第一應(yīng)用程序切換至第二應(yīng)用程序后第二應(yīng)用程序開啟的各應(yīng)用包包名。

第二應(yīng)用程序即第一應(yīng)用程序關(guān)閉后開啟的應(yīng)用程序,為了確保第二應(yīng)用程序的正常運(yùn)行,第二應(yīng)用程序中的各應(yīng)用包均應(yīng)為開啟狀態(tài)。本實(shí)施例中第二應(yīng)用程序開啟的各應(yīng)用包包名存儲于mArrayList(動態(tài)數(shù)組)中,當(dāng)然,本發(fā)明其他實(shí)施例中第二應(yīng)用程序開啟的各應(yīng)用包包名也可以存儲于sqlite(輕型數(shù)據(jù)庫)或Preference(首選項(xiàng))中。

步驟S202:根據(jù)所述第一應(yīng)用程序中各應(yīng)用包包名與所述第二應(yīng)用程序開啟的各應(yīng)用包包名獲取目標(biāo)應(yīng)用包包名。

讀取存儲于哈希映射中的應(yīng)用包包名,并讀取存儲于動態(tài)數(shù)組中應(yīng)用包包名,若應(yīng)用包包名存儲于哈希映射中但不存儲于動態(tài)數(shù)組中,則表明在第一應(yīng)用程序切換至第二應(yīng)用程序后,以上應(yīng)用包已經(jīng)被系統(tǒng)收回,將以上應(yīng)用包確定為目標(biāo)應(yīng)用包,并存儲目標(biāo)應(yīng)用包包名。

步驟S300:將與所述目標(biāo)應(yīng)用包信息對應(yīng)的目標(biāo)應(yīng)用包恢復(fù)至對應(yīng)的初始狀態(tài)。

若第一應(yīng)用程序?yàn)槌S脩?yīng)用程序,則可以將其中的某一個或某一些應(yīng)用包設(shè)置為允許啟動狀態(tài),當(dāng)再次啟動第一應(yīng)用程序時,無需讀取界面資源,即可通過調(diào)用允許啟動狀態(tài)的應(yīng)用包來直接開啟第一應(yīng)用程序,從而提高應(yīng)用程序的響應(yīng)速度。

若第一應(yīng)用程序?yàn)槭褂妙l率較低的應(yīng)用程序,則可以將第一應(yīng)用程序中的所有應(yīng)用包均設(shè)置為禁止啟動狀態(tài),當(dāng)用戶需要開啟第一應(yīng)用程序時,正常啟動第一應(yīng)用程序,即正常調(diào)用第一應(yīng)用程序中各應(yīng)用包內(nèi)的所有組件,當(dāng)用戶切換應(yīng)用程序,即需要關(guān)閉第一應(yīng)用程序而開啟第二應(yīng)用程序時,則第一應(yīng)用程序中被關(guān)閉的目標(biāo)應(yīng)用包均恢復(fù)至禁止啟動狀態(tài),從而徹底關(guān)閉第一應(yīng)用程序,并保持第一應(yīng)用程序中各應(yīng)用包的禁止啟動狀態(tài),防止第一應(yīng)用程序由于設(shè)置雙進(jìn)程守護(hù)而實(shí)現(xiàn)不經(jīng)用戶允許的自啟動行為。

進(jìn)一步,應(yīng)用包的初始狀態(tài)由應(yīng)用包內(nèi)組件的初始狀態(tài)決定,若應(yīng)用包內(nèi)任一個組件的初始狀態(tài)為允許啟動狀態(tài),則應(yīng)用包的初始狀態(tài)即為允許啟動狀態(tài);否則為禁止啟動狀態(tài)。

本發(fā)明首先獲取第一應(yīng)用程序中各應(yīng)用包的初始信息,即第一應(yīng)用程序中各應(yīng)用包包名以及對應(yīng)的初始狀態(tài),并根據(jù)以上對應(yīng)關(guān)系將第一應(yīng)用程序切換至第二應(yīng)用程序后第一應(yīng)用程序關(guān)閉的目標(biāo)應(yīng)用包恢復(fù)至對應(yīng)的初始狀態(tài)。即初始狀態(tài)若為允許啟動狀態(tài),則將目標(biāo)應(yīng)用包再次恢復(fù)至允許啟動狀態(tài);初始狀態(tài)若為禁止啟動狀態(tài),則將目標(biāo)應(yīng)用包再次恢復(fù)至禁止啟動狀態(tài),從而確保安卓系統(tǒng)運(yùn)行過程中后臺應(yīng)用的狀態(tài)一直與初始狀態(tài)相一致,進(jìn)而保證包括開機(jī)時刻在內(nèi)的任意時刻,后臺應(yīng)用均無法通過雙進(jìn)程守護(hù)等方式實(shí)現(xiàn)自啟動行為,最終有效降低手機(jī)的待機(jī)時間、提高手機(jī)的響應(yīng)速度以及用戶體驗(yàn)度。

請參考圖3,所示為本發(fā)明實(shí)施例中提供的另一種禁止后臺應(yīng)用自啟動方法的流程圖。

由圖3可見,本發(fā)明其他實(shí)施例中,步驟S100還包括:

步驟S101:獲取第一應(yīng)用程序在開啟第一activity(活躍界面)時對應(yīng)的各應(yīng)用包包名。

步驟S102:獲取開啟第一activity前一時刻與所述包名對應(yīng)的應(yīng)用包的初始狀態(tài)。

本發(fā)明其他實(shí)施例中,步驟S200還包括:

步驟S211:獲取第二應(yīng)用程序在開啟第二activity時對應(yīng)的各應(yīng)用包包名,所述第二activity為所述第一activity切換后對應(yīng)的activity;

步驟S212:根據(jù)所述第一應(yīng)用程序在開啟第一activity時對應(yīng)的各應(yīng)用包包名和所述第二應(yīng)用程序在開啟第二activity時對應(yīng)的各應(yīng)用包獲取第一應(yīng)用程序切換至第二應(yīng)用程序后關(guān)閉的目標(biāo)應(yīng)用包。

與上述實(shí)施例類似,本實(shí)施例中,步驟S101中獲取的各應(yīng)用包包名以及步驟S102中獲取的對應(yīng)的應(yīng)用包的初始狀態(tài)也存儲至mHashmap(哈希映射)中;步驟S211中獲取的各應(yīng)用包包名存儲于mArrayList中,也可以存儲于sqlite或Preference中。

activity是Android組件中最基本也是最為常見用的組件之一,一個activity通常就是一個單獨(dú)的屏幕,它上面可以顯示一些控件也可以監(jiān)聽并對用戶的事件做出響應(yīng)。Android系統(tǒng)留有activity接口,在切換activity時,通過系統(tǒng)的回調(diào),可以自動運(yùn)行以上流程,無需額外判斷應(yīng)用程序的切換狀態(tài)。將通過對比mHashmap和mArrayList中包名獲取的目標(biāo)應(yīng)用包恢復(fù)至對應(yīng)的初始狀態(tài)后,將目標(biāo)應(yīng)用包的相關(guān)初始信息從mHashmap中刪除,以便動態(tài)管理切換activity時刻的相關(guān)應(yīng)用包狀態(tài)。

另外,本發(fā)明其他實(shí)施例中,也可以將第一應(yīng)用程序中各應(yīng)用包的狀態(tài)信息預(yù)先存儲于一個mHashmap中,所述狀態(tài)信息為第一應(yīng)用程序中各應(yīng)用包進(jìn)入后臺后需要恢復(fù)的狀態(tài)。當(dāng)切換activity時,一旦第一應(yīng)用程序中的目標(biāo)應(yīng)用包進(jìn)入后臺,則直接在mHashmap中讀取相應(yīng)狀態(tài)并恢復(fù),并且狀態(tài)恢復(fù)后無需刪除相關(guān)數(shù)據(jù),以便再次讀取mHashmap。

請參考圖4,所示為本發(fā)明實(shí)施例中提供的第三種禁止后臺應(yīng)用自啟動方法的流程圖。

由圖4可見,本發(fā)明其他實(shí)施例中,在獲取第一應(yīng)用程序中各應(yīng)用包的初始信息之前還包括:

步驟S111:設(shè)置系統(tǒng)白名單,所述系統(tǒng)白名單包括允許自啟動的應(yīng)用程序信息。

本實(shí)施例中,系統(tǒng)白名單包括允許自啟動的應(yīng)用程序信息,應(yīng)用程序信息可以包括應(yīng)用程序名稱、應(yīng)用程序?qū)傩砸约按鎯ξ恢玫刃畔?。系統(tǒng)白名單中的應(yīng)用程序可以不經(jīng)用戶同意實(shí)施自啟動行為。

步驟S112:判斷所述第一應(yīng)用程序是否包含在所述系統(tǒng)白名單內(nèi),若所述第一應(yīng)用程序不包含在所述系統(tǒng)白名單內(nèi),則獲取所述第一應(yīng)用程序中各應(yīng)用包的初始信息,并在切換應(yīng)用程序時,將目標(biāo)應(yīng)用包恢復(fù)至初始狀態(tài)。

本實(shí)施例可以通過在系統(tǒng)白名單內(nèi)檢索第一應(yīng)用程序名稱的方式判斷第一應(yīng)用程序是否包含在所述系統(tǒng)白名單內(nèi)的方法,若在系統(tǒng)白名單內(nèi)檢索到第一應(yīng)用程序名稱,則說明第一應(yīng)用程序包含在所述系統(tǒng)白名單內(nèi),在切換應(yīng)用程序時,無需將目標(biāo)應(yīng)用包恢復(fù)至初始狀態(tài)。

請參考圖5,所示為本發(fā)明實(shí)施例中提供的一種禁止后臺應(yīng)用自啟動裝置的結(jié)構(gòu)示意圖。

由圖5可見,所述裝置包括:

初始信息獲取模塊100,所述初始信息獲取模塊100用于獲取第一應(yīng)用程序中各應(yīng)用包的初始信息,所述初始信息包括第一應(yīng)用程序中各應(yīng)用包包名以及與所述包名對應(yīng)的應(yīng)用包在第一應(yīng)用程序開啟前的初始狀態(tài),所述初始狀態(tài)為允許啟動狀態(tài)或禁止啟動狀態(tài);

目標(biāo)應(yīng)用包信息獲取模塊200,所述目標(biāo)應(yīng)用包信息獲取模塊200用于獲取第一應(yīng)用程序切換至第二應(yīng)用程序后第一應(yīng)用程序關(guān)閉的目標(biāo)應(yīng)用包信息,所述目標(biāo)應(yīng)用包信息包括目標(biāo)應(yīng)用包包名;

初始狀態(tài)恢復(fù)模塊300,所述初始狀態(tài)恢復(fù)模塊300用于將與所述目標(biāo)應(yīng)用包信息對應(yīng)的目標(biāo)應(yīng)用包恢復(fù)至對應(yīng)的初始狀態(tài)。

請參考圖6,所示為本發(fā)明實(shí)施例中提供的目標(biāo)應(yīng)用包信息獲取模塊200的結(jié)構(gòu)示意圖。

由圖6可見,目標(biāo)應(yīng)用包信息獲取模塊200包括:

第一包名獲取子模塊201,所述第一包名獲取子模塊201用于獲取第一應(yīng)用程序切換至第二應(yīng)用程序后第二應(yīng)用程序開啟的各應(yīng)用包包名;

第一目標(biāo)應(yīng)用包包名獲取子模塊202,所述第一目標(biāo)應(yīng)用包包名獲取子模塊202用于根據(jù)所述第一應(yīng)用程序中各應(yīng)用包包名與所述第二應(yīng)用程序開啟的各應(yīng)用包包名獲取目標(biāo)應(yīng)用包包名。

請參考圖7,所示為本發(fā)明實(shí)施例中提供的另一種禁止后臺應(yīng)用自啟動裝置的結(jié)構(gòu)示意圖。

由圖7可見,所述初始信息獲取模塊100包括:

第二包名獲取子模塊101,所述第二包名獲取子模塊101用于獲取第一應(yīng)用程序在開啟第一activity時對應(yīng)的各應(yīng)用包包名;

初始狀態(tài)獲取子模塊102,所述初始狀態(tài)獲取子模塊102用于獲取開啟第一activity前一時刻與所述包名對應(yīng)的應(yīng)用包的初始狀態(tài)。

目標(biāo)應(yīng)用包信息獲取模塊200包括:

第三包名獲取子模塊211,所述第三包名獲取子模塊211用于獲取第二應(yīng)用程序在開啟第二activity時對應(yīng)的各應(yīng)用包包名,所述第二activity為所述第一activity切換后對應(yīng)的activity;

第二目標(biāo)應(yīng)用包包名獲取子模塊212,所述第二目標(biāo)應(yīng)用包包名獲取子模塊212用于根據(jù)所述第一應(yīng)用程序在開啟第一activity時對應(yīng)的各應(yīng)用包包名和所述第二應(yīng)用程序在開啟第二activity時對應(yīng)的各應(yīng)用包獲取第一應(yīng)用程序切換至第二應(yīng)用程序后關(guān)閉的目標(biāo)應(yīng)用包包名。

請參考圖8,所示為本發(fā)明實(shí)施例中提供的第三種禁止后臺應(yīng)用自啟動裝置的結(jié)構(gòu)示意圖。

由圖8可見,所述裝置還包括:

系統(tǒng)白名單設(shè)置模塊111,所述系統(tǒng)白名單設(shè)置模塊111用于設(shè)置系統(tǒng)白名單,所述系統(tǒng)白名單包括允許自啟動的應(yīng)用程序信息;

判斷模塊112,所述判斷模塊112用于判斷所述第一應(yīng)用程序是否包含在所述系統(tǒng)白名單內(nèi),若所述第一應(yīng)用程序不包含在所述系統(tǒng)白名單內(nèi),則獲取所述第一應(yīng)用程序中各應(yīng)用包的初始信息。

需要說明的是,在本文中,諸如“第一”和“第二”等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。

以上所述僅是本發(fā)明的具體實(shí)施方式,使本領(lǐng)域技術(shù)人員能夠理解或?qū)崿F(xiàn)本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1