一種應用程序的監(jiān)控及處理方法及裝置制造方法
【專利摘要】本發(fā)明的實施例公開一種應用程序的監(jiān)控及處理方法及裝置,能夠提高應用程序的穩(wěn)定性。所述監(jiān)控及處理方法包括:通過系統(tǒng)進程對指定的應用程序的進程進行監(jiān)控;當監(jiān)控到所述應用程序的進程停止后,判斷所述應用程序的進程的停止是否是異常停止;若判斷所述應用程序的進程的停止為異常停止,則主動將所述應用程序重新啟動。所述監(jiān)控及處理裝置包括:監(jiān)控單元,用于通過系統(tǒng)進程對指定的應用程序的進程進行監(jiān)控;當監(jiān)控到所述應用程序的進程停止后,所述監(jiān)控單元還用于判斷所述應用程序的進程的停止是否是異常停止;恢復單元,用于若所述應用程序的進程的停止為異常停止,主動將所述應用程序重新啟動。本發(fā)明適用于應用程序安全性及穩(wěn)定性【技術領域】。
【專利說明】一種應用程序的監(jiān)控及處理方法及裝置
【技術領域】
[0001]本發(fā)明涉及應用程序安全性【技術領域】,尤其涉及一種應用程序的監(jiān)控及處理方法及裝置。
【背景技術】
[0002]現有的安卓系統(tǒng)授予第三方應用軟件的權限比較開放,任何應用軟件都可以使第三方應用程序停止運行,從而,使得基于安卓操作系統(tǒng)的應用程序,尤其是工具類的應用程序的正常運行遭到破壞。
[0003]由于所述應用程序被第三方應用軟件停止運行后,所述應用程序的某些功能會失效,如鬧鐘、音樂等,使得用戶在使用所述應用程序的過程中遇到困擾。
【發(fā)明內容】
[0004]有鑒于此,本發(fā)明實施例提供一種應用程序的監(jiān)控及處理方法及裝置,能夠提高應用程序的穩(wěn)定性。
[0005]一方面,本發(fā)明實施例提供一種應用程序的監(jiān)控及處理方法,包括:
[0006]通過系統(tǒng)進程對指定的應用程序的進程進行監(jiān)控;
[0007]當監(jiān)控到所述應用程序的進程停止后,判斷所述應用程序的進程的停止是否是異常停止;
[0008]若判斷所述應用程序的進程的停止為異常停止,則主動將所述應用程序重新啟動。
[0009]可選地,所述通過系統(tǒng)進程對指定的應用程序的進程進行監(jiān)控之前包括:在所述應用程序啟動后,建立或者申請系統(tǒng)進程;所述系統(tǒng)進程能夠對至少一個指定的應用程序的進程進行監(jiān)控。
[0010]可選地,所述通過所述系統(tǒng)進程對所述指定的應用程序的進程進行監(jiān)控包括:通過在所述系統(tǒng)進程與所述應用程序的進程之間建立的管道,對所述應用程序的進程進行監(jiān)控。
[0011]可選地,所述判斷所述應用程序的進程的停止是否是異常停止包括:當所述應用程序的進程停止時,獲取當前應用堆棧棧頂的應用程序,并對所述棧頂的應用程序的包名進行分析;若所述包名為系統(tǒng)設置,則確定所述應用程序的進程的停止是正常停止;若所述包名不是系統(tǒng)設置的包名,則確定所述應用程序的進程的停止為異常停止。
[0012]可選地,所述應用程序的監(jiān)控及處理方法還包括:當用戶在所述應用程序主界面上進行手動結束所述應用程序的進程時,所述應用程序的進程向所述系統(tǒng)進程傳遞主動結束的標記;所述系統(tǒng)進程接收到所述主動結束的標記后,當所述應用程序的進程停止后,不會主動將所述應用程序重新啟動。
[0013]可選地,所述應用程序的監(jiān)控及處理方法還包括:當再次啟動所述應用程序后,所述應用程序的進程向所述系統(tǒng)進程傳遞再次啟動的標記;所述系統(tǒng)進程接收到所述再次啟動的標記后,對所述應用程序的進程進行監(jiān)控。
[0014]可選地,所述若所述系統(tǒng)進程判斷所述應用程序的進程的停止為異常停止,則主動將所述應用程序重新啟動包括:若所述系統(tǒng)進程判斷所述應用程序的進程的停止為異常停止后,則延時預定的時間后,再主動將所述應用程序重新啟動。
[0015]可選地,所述應用程序的監(jiān)控及處理方法還包括:在所述系統(tǒng)進程主動將所述應用程序重新啟動后,暫時關閉所述應用程序的圖標在通知欄中的顯示,并開始監(jiān)控鎖屏或充電事件;當監(jiān)控到鎖屏或充電事件中的任何一個發(fā)生時,則將所述應用程序的圖標在通知欄中顯示。
[0016]可選地,所述應用程序的監(jiān)控及處理方法適用于對安卓操作系統(tǒng)中應用軟件的監(jiān)控及處理。
[0017]本發(fā)明實施例所述的應用程序的監(jiān)控及處理方法,通過系統(tǒng)進程對指定的應用程序的進程進行監(jiān)控,當監(jiān)控到所述應用程序的進程停止后,判斷所述應用程序的進程的停止是否是異常停止,若判斷所述應用程序的進程的停止為異常停止,則主動將所述應用程序重新啟動,這樣,能夠避免所述應用程序在異常情況下退出后,某些功能會失效,給用戶造成困擾,從而,提高了所述應用程序的穩(wěn)定性。并且用戶在使用過程中也不需要復雜的操作,從而,還提升了用戶體驗。
[0018]另一方面本發(fā)明實施例提供一種應用程序的監(jiān)控及處理裝置,包括:監(jiān)控單元,用于通過系統(tǒng)進程對指定的應用程序的進程進行監(jiān)控;當監(jiān)控到所述應用程序的進程停止后,判斷所述應用程序的進程的停止是否是異常停止;恢復單元,用于若所述應用程序的進程的停止為異常停止,主動將所述應用程序重新啟動。
[0019]可選地,所述應用程序的監(jiān)控及處理裝置還包括:建立單元,用于在所述應用程序啟動后,建立所述系統(tǒng)進程;或者申請單元,用于在所述應用程序啟動后,申請所述系統(tǒng)進程。
[0020]可選地,所述監(jiān)控單元包括:系統(tǒng)進程模塊,用于對所述應用程序的進程進行監(jiān)控;管道模塊,用于所述系統(tǒng)進程模塊與被監(jiān)控的應用程序的進程之間的通信。
[0021]可選地,所述系統(tǒng)進程模塊包括:獲取子模塊,用于當所述應用程序的進程停止時,獲取當前應用堆棧棧頂的應用程序;分析子模塊,用于對所述棧頂的應用程序的包名進行分析;判斷子模塊,用于若所述包名為系統(tǒng)設置,則確定所述應用程序的進程的停止是正常停止;若所述包名不是系統(tǒng)設置的包名,則確定所述應用程序的進程的停止為異常停止。
[0022]可選地,所述系統(tǒng)進程模塊還包括:接收子模塊,用于當用戶在所述應用程序主界面上進行手動結束所述應用程序的進程時,接收所述應用程序的進程向所述系統(tǒng)進程模塊傳遞的主動結束的標記,并將所述應用程序的主動結束的信息傳遞給所述恢復單元。
[0023]可選地,所述接收子模塊,還用于當所述應用程序再次啟動后,接收所述應用程序的進程向所述系統(tǒng)進程模塊傳遞的再次啟動的標記,并啟動對所述應用程序的進程的監(jiān)控。
[0024]可選地,所述恢復單元包括:定時器,用于若所述判斷單元判斷所述應用程序的進程的停止為異常停止后,延時預定的時間后,再主動將所述應用程序重新啟動。
[0025]可選地,所述應用程序的監(jiān)控及處理裝置還包括:顯示控制單元,用于在所述恢復單元主動將所述應用程序重新啟動后,暫時關閉所述應用程序的圖標在通知欄中的顯示,并監(jiān)控鎖屏或充電事件;當監(jiān)控到鎖屏或充電事件中的任何一個發(fā)生時,則所述顯示控制單元將所述應用程序的圖標在通知欄中顯示。
[0026]可選地,所述應用程序的監(jiān)控及處理裝置適用于對安卓操作系統(tǒng)中應用軟件的監(jiān)控及處理
[0027]本發(fā)明實施例所述的應用程序的監(jiān)控及處理裝置,通過所述監(jiān)控單元對指定的應用程序的進程進行監(jiān)控,當監(jiān)控到所述應用程序的進程停止后,再由所述監(jiān)控單元判斷所述應用程序的進程的停止是否是異常停止,若所述應用程序的進程的停止為異常停止,則通過所述恢復單元主動將所述應用程序重新啟動,這樣,能夠避免所述應用程序在異常情況下退出后,所述應用程序的某些功能會失效,給用戶造成困擾,從而,提高了所述應用程序的穩(wěn)定性。并且用戶在使用過程中也不需要復雜的操作,從而,還提升了用戶體驗。
【專利附圖】
【附圖說明】
[0028]為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其它的附圖。
[0029]圖1為本發(fā)明的應用程序的監(jiān)控及處理方法一實施例的流程示意圖;
[0030]圖2為本發(fā)明的應用程序的監(jiān)控及處理裝置一實施例的結構示意圖;
[0031]圖3為本發(fā)明的應用程序的監(jiān)控及處理裝置另一實施例的結構示意圖;
[0032]圖4為本發(fā)明的應用程序的監(jiān)控及處理裝置再一實施例的結構示意圖;
[0033]圖5為本發(fā)明的應用程序的監(jiān)控及處理裝置又一實施例的結構示意圖;
[0034]圖6為本發(fā)明的應用程序的監(jiān)控及處理裝置又一實施例的結構示意圖;
[0035]圖7為本發(fā)明的應用程序的監(jiān)控及處理裝置又一實施例的結構示意圖。
【具體實施方式】
[0036]下面結合附圖對本發(fā)明實施例一種應用程序的監(jiān)控及處理方法、監(jiān)控及處理裝置進行詳細描述。
[0037]應當明確,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
[0038]參看圖1所示,本發(fā)明一種應用程序的監(jiān)控及處理方法的【具體實施方式】,包括:
[0039]S1、通過系統(tǒng)進程對指定的應用程序的進程進行監(jiān)控;
[0040]S2、當監(jiān)控到所述應用程序的進程停止后,判斷所述應用程序的進程的停止是否是異常停止;
[0041]S3、若判斷所述應用程序的進程的停止為異常停止,則主動將所述應用程序重新啟動。
[0042]所述應用程序的監(jiān)控及處理方法,通過系統(tǒng)進程對指定的應用程序的進程進行監(jiān)控,當監(jiān)控到所述應用程序的進程停止后,判斷所述應用程序的進程的停止是否是異常停止,若判斷所述應用程序的進程的停止為異常停止,則主動將所述應用程序重新啟動,這樣,能夠避免所述應用程序在異常情況下退出后,某些功能會失效,給用戶造成困擾,從而,提高了所述應用程序的穩(wěn)定性,完善了所述應用程序的容錯機制。并且用戶在使用過程中也不需要復雜的操作,從而,還提升了用戶體驗。
[0043]在前述應用程序的監(jiān)控及處理方法的【具體實施方式】中,可選地,所述通過系統(tǒng)進程對指定的應用程序的進程進行監(jiān)控(SI)之前包括:在所述應用程序啟動后,建立或者申請系統(tǒng)進程;所述系統(tǒng)進程能夠對至少一個指定的應用程序的進程進行監(jiān)控。
[0044]本實施例中,在所述應用程序啟動后,立刻創(chuàng)建或者申請Iv系統(tǒng)級別的系統(tǒng)進程,通過所述系統(tǒng)進程對所述應用程序的進程進行監(jiān)控及處理,從而有助于消除在所述應用程序的進程被停止后,用戶無法對所述應用程序進行任何操作的限制。例如,在啟動獵豹清理大師應用程序后,立刻創(chuàng)建一個系統(tǒng)級別的進程,并將所述系統(tǒng)級別的進程命名為root jar,然后通過建立管道使所述獵豹清理大師應用程序的進程與所述root jar建立聯系,從而所述root jar能夠對所述獵豹清理大師應用程序進行監(jiān)控及處理;又比如,在啟動安卓電池醫(yī)生應用程序之后,立刻申請系統(tǒng)進程root jar,并用同樣的方法使所述rootjar與所述安卓電池醫(yī)生應用程序主服務建立聯系,從而使得所述安卓電池醫(yī)生應用程序主服務被第三方軟件強制停止后能夠通過所述root jar自動恢復,防止所述安卓電池醫(yī)生應用程序主服務被異常停止,使得某些功能失效。
[0045]在前述應用程序的監(jiān)控及處理方法的【具體實施方式】中,可選地,所述通過所述系統(tǒng)進程對所述指定的應用程序的進程進行監(jiān)控包括:通過在所述系統(tǒng)進程與所述應用程序的進程之間建立的管道,對所述應用程序的進程進行監(jiān)控。本實施例中,通過所述管道使所述應用程序的進程與所述系統(tǒng)進程建立聯系,所述應用程序的進程通過所述管道向所述系統(tǒng)進程發(fā)送信息,若所述應用程序的進程異常終止,如被系統(tǒng)停止或被其他第三方應用軟件禁止,則所述應用程序的進程無法通過所述管道發(fā)送信息,即所述管道無法正常通訊,所述系統(tǒng)進程接收不到所述應用程序的進程的信息,從而所述系統(tǒng)進程通過這種方法及時知道所監(jiān)控的應用程序的運行狀態(tài)。
[0046]在前述應用程序的監(jiān)控及處理方法的【具體實施方式】中,可選地,所述判斷所述應用程序的進程的停止是否是異常停止包括:當所述應用程序的進程停止時,獲取當前應用堆棧棧頂的應用程序,并對所述棧頂的應用程序的包名進行分析;若所述包名為系統(tǒng)設置,則確定所述應用程序的進程的停止是正常停止;若所述包名不是系統(tǒng)設置的包名,則確定所述應用程序的進程的停止為異常停止。本實施例中,所述正常停止是指用戶主動結束應用程序的進程,所述異常停止是指非用戶主動結束應用程序的進程(比如被第三方應用程序禁止);當用戶主動結束應用程序的進程時,用戶已經明白所述應用程序停止的后果,所以,此情境下所述系統(tǒng)進程不會主動調起即不會主動重新啟動所述應用程序的進程;在發(fā)現所述應用程序運行異常后,所述系統(tǒng)進程主動調起所述應用程序的進程,使所述應用程序保持運行狀態(tài),從而防止由于所述應用程序的進程停止,導致某些功能失效,如通知欄圖標在進程消失后無法顯示、定時切換模式也無法正常運行。
[0047]在前述應用程序的監(jiān)控及處理方法的【具體實施方式】中,可選地,所述應用程序的監(jiān)控及處理方法還包括:當用戶在所述應用程序主界面上進行手動結束所述應用程序的進程時,所述應用程序的進程向所述系統(tǒng)進程傳遞主動結束的標記;所述系統(tǒng)進程接收到所述主動結束的標記后,當所述應用程序的進程停止后,不會主動將所述應用程序重新啟動。所述用戶在所述應用程序主界面上進行手動結束所述應用程序的進程是用戶主動結束應用程序的進程,用戶已經明白所述應用程序停止的后果,所以,此情境下所述系統(tǒng)進程不會主動調起所述應用程序的進程。
[0048]在前述應用程序的監(jiān)控及處理方法的【具體實施方式】中,可選地,所述應用程序的監(jiān)控及處理方法還包括:當再次啟動所述應用程序后,所述應用程序的進程向所述系統(tǒng)進程傳遞再次啟動的標記;所述系統(tǒng)進程接收到所述再次啟動的標記后,對所述應用程序的進程進行監(jiān)控。這樣,通過所述系統(tǒng)進程對所述應用程序的進程的監(jiān)控,所述應用程序的穩(wěn)定性和容錯機制會更加完善,從而,避免所述應用程序在異常情況下退出后給用戶帶來的不便。
[0049]在前述應用程序的監(jiān)控及處理方法的【具體實施方式】中,可選地,所述若所述系統(tǒng)進程判斷所述應用程序的進程的停止為異常停止,則主動將所述應用程序重新啟動包括:若所述系統(tǒng)進程判斷所述應用程序的進程的停止為異常停止后,則延時預定的時間后,再主動將所述應用程序重新啟動。本實施例中,在所述應用程序重新啟動的過程中,從停止到恢復會有一個時間差,該時間段內所述應用程序的進程是不存在的,此時通知欄圖標也無法顯示,這樣,所述應用程序異常停止后立刻重新啟動會給用戶造成通知欄中所述應用程序的圖標會閃一下的感覺。優(yōu)選地,當所述系統(tǒng)進程監(jiān)控到所述應用程序的進程被關閉時,啟動定時器,延時某指定時間,如10秒鐘,再進行重新啟動,從而防止用戶發(fā)現所述圖標閃動。
[0050]在前述應用程序的監(jiān)控及處理方法的【具體實施方式】中,為了避免所述應用程序的圖標在通知欄中閃動,可選地,所述應用程序的監(jiān)控及處理方法還包括:在所述系統(tǒng)進程主動將所述應用程序重新啟動后,暫時關閉所述應用程序的圖標在通知欄中的顯示,并開始監(jiān)控鎖屏或充電事件;當監(jiān)控到鎖屏或充電事件中的任何一個發(fā)生時,則將所述應用程序的圖標在通知欄中顯示。
[0051]參看圖2所示,本發(fā)明實施例提供一種應用程序的監(jiān)控及處理裝置,包括:監(jiān)控單元1,用于通過系統(tǒng)進程對指定的應用程序的進程進行監(jiān)控;當監(jiān)控到所述應用程序的進程停止后,判斷所述應用程序的進程的停止是否是異常停止;恢復單元2,用于若所述應用程序的進程的停止為異常停止,主動將所述應用程序重新啟動。
[0052]所述應用程序的監(jiān)控及處理裝置,通過所述監(jiān)控單元I對指定的應用程序的進程進行監(jiān)控,當監(jiān)控到所述應用程序的進程停止后,再由所述監(jiān)控單元I判斷所述應用程序的進程的停止是否是異常停止,若所述應用程序的進程的停止為異常停止,則通過所述恢復單元2主動將所述應用程序重新啟動,這樣,能夠避免所述應用程序在異常情況下退出后,所述應用程序的某些功能會失效,給用戶造成困擾,從而,提高了所述應用程序的穩(wěn)定性,完善了所述應用程序的容錯機制。并且用戶在使用過程中也不需要復雜的操作,從而,還提升了用戶體驗。
[0053]參看圖3所示,在前述應用程序的監(jiān)控及處理裝置的【具體實施方式】中,可選地,所述應用程序的監(jiān)控及處理裝置還包括:建立單元3,用于在所述應用程序啟動后,建立所述系統(tǒng)進程;或者申請單元4,用于在所述應用程序啟動后,申請所述系統(tǒng)進程。
[0054]本實施例中,在所述應用程序啟動后,立刻創(chuàng)建或者申請一個系統(tǒng)級別的系統(tǒng)進程,通過所述系統(tǒng)進程對所述應用程序的進程進行監(jiān)控及處理,從而有助于消除在所述應用程序的進程被停止后,用戶無法對所述應用程序進行任何操作的限制。例如,在啟動獵豹清理大師應用程序后,立刻創(chuàng)建一個系統(tǒng)級別的進程,并將所述系統(tǒng)級別的進程命名為root jar,然后通過建立管道使所述獵豹清理大師應用程序的進程與所述root jar建立聯系,從而所述root jar能夠對所述獵豹清理大師應用程序進行監(jiān)控及處理;又比如,在啟動安卓電池醫(yī)生應用程序之后,立刻申請系統(tǒng)進程root jar,并用同樣的方法使所述rootjar與所述安卓電池醫(yī)生應用程序主服務建立聯系,從而使得所述安卓電池醫(yī)生應用程序主服務被第三方軟件強制停止后能夠通過所述root jar自動恢復,防止所述安卓電池醫(yī)生應用程序主服務被異常停止,使得某些功能失效。本實施例中,所述系統(tǒng)進程能夠對至少一個指定的應用程序的進程進行監(jiān)控。
[0055]參看圖4所示,在前述應用程序的監(jiān)控及處理裝置的【具體實施方式】中,可選地,所述監(jiān)控單元I包括:系統(tǒng)進程模塊11,用于對所述應用程序的進程進行監(jiān)控;管道模塊12,用于所述系統(tǒng)進程模塊11與被監(jiān)控的應用程序的進程之間的通信。本實施例中,通過所述管道模塊12使所述應用程序的進程與所述系統(tǒng)進程模塊11建立聯系,所述應用程序的進程通過所述管道模塊12向所述系統(tǒng)進程模塊11發(fā)送信息,若所述應用程序的進程異常終止,如被系統(tǒng)停止或被其他第三方應用軟件禁止,則所述應用程序的進程無法通過所述管道模塊12發(fā)送信息,即所述管道模塊12無法正常通訊,所述系統(tǒng)進程模塊11接收不到所述應用程序的進程的信息,從而所述系統(tǒng)進程通過這種方法及時知道所監(jiān)控的應用程序的運行狀態(tài)。
[0056]參看圖5所示,在前述應用程序的監(jiān)控及處理裝置的【具體實施方式】中,可選地,所述系統(tǒng)進程模塊11包括:獲取子模塊111,用于當所述應用程序的進程停止時,獲取當前應用堆棧棧頂的應用程序;分析子模塊112,用于對所述棧頂的應用程序的包名進行分析;判斷子模塊113,用于若所述包名為系統(tǒng)設置,則確定所述應用程序的進程的停止是正常停止;若所述包名不是系統(tǒng)設置的包名,則確定所述應用程序的進程的停止為異常停止。
[0057]本實施例中,所述正常停止是指用戶主動結束應用程序的進程,所述異常停止是指非用戶主動結束應用程序的進程(比如被第三方應用程序禁止);當用戶主動結束應用程序的進程時,用戶已經明白所述應用程序停止的后果,所以,此情境下所述恢復單元2不會主動調起即不會主動重新啟動所述應用程序的進程;在發(fā)現所述應用程序運行異常后,所述恢復單元2主動調起所述應用程序的進程,使所述應用程序保持運行狀態(tài),從而防止由于所述應用程序的進程停止,導致某些功能失效,如通知欄圖標在進程消失后無法顯示、定時切換模式也無法正常運行。
[0058]參看圖6所示,在前述應用程序的監(jiān)控及處理裝置的【具體實施方式】中,可選地,所述系統(tǒng)進程模塊11還包括:接收子模塊114,用于當用戶在所述應用程序主界面上進行手動結束所述應用程序的進程時,接收所述應用程序的進程向所述系統(tǒng)進程模塊傳遞的主動結束的標記,并將所述應用程序的主動結束的信息傳遞給所述恢復單元2。本實施例中,所述用戶在所述應用程序主界面上進行手動結束所述應用程序的進程是用戶主動結束應用程序的進程,用戶已經明白所述應用程序停止的后果,所以,此情境下所述恢復單元2不會主動調起所述應用程序的進程。
[0059]在前述應用程序的監(jiān)控及處理裝置的【具體實施方式】中,可選地,所述接收子模塊114,還用于當所述應用程序再次啟動后,接收所述應用程序的進程向所述系統(tǒng)進程模塊傳遞的再次啟動的標記,并啟動對所述應用程序的進程的監(jiān)控。這樣,通過所述系統(tǒng)進程對所述應用程序的進程的監(jiān)控,所述應用程序的穩(wěn)定性和容錯機制會更加完善,從而,避免所述應用程序在異常情況下退出后給用戶帶來的不便。
[0060]在前述應用程序的監(jiān)控及處理裝置的【具體實施方式】中,可選地,所述恢復單元2包括:定時器,用于若所述判斷單元判斷所述應用程序的進程的停止為異常停止后,延時預定的時間后,再主動將所述應用程序重新啟動。本實施例中,在所述應用程序重新啟動的過程中,從停止到恢復會有一個時間差,該時間段內所述應用程序的進程是不存在的,此時通知欄圖標也無法顯示,這樣,所述應用程序異常停止后立刻重新啟動會給用戶造成通知欄中所述應用程序的圖標會閃一下的感覺。優(yōu)選地,當所述系統(tǒng)進程監(jiān)控到所述應用程序的進程被關閉時,啟動定時器,延時某指定時間,如10秒鐘,再進行重新啟動,從而防止用戶發(fā)現所述圖標閃動。
[0061]參看圖7所示,在前述應用程序的監(jiān)控及處理裝置的【具體實施方式】中,為了避免所述應用程序的圖標在通知欄中閃動,可選地,所述應用程序的監(jiān)控及處理裝置還包括:顯示控制單元5,用于在所述恢復單元主動將所述應用程序重新啟動后,暫時關閉所述應用程序的圖標在通知欄中的顯示,并監(jiān)控鎖屏或充電事件;當監(jiān)控到鎖屏或充電事件中的任何一個發(fā)生時,則所述顯示控制單元5將所述應用程序的圖標在通知欄中顯示。
[0062]本發(fā)明各實施例所述的應用程序的監(jiān)控及處理方法及裝置,適用于對安卓操作系統(tǒng)中應用軟件的監(jiān)控及處理,但本發(fā)明不限于此。
[0063]本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random AccessMemory, RAM)等。
[0064]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應以權利要求的保護范圍為準。
【權利要求】
1.一種應用程序的監(jiān)控及處理方法,其特征在于,包括: 通過系統(tǒng)進程對指定的應用程序的進程進行監(jiān)控; 當監(jiān)控到所述應用程序的進程停止后,判斷所述應用程序的進程的停止是否是異常停止; 若判斷所述應用程序的進程的停止為異常停止,則主動將所述應用程序重新啟動。
2.根據權利要求1所述的應用程序的監(jiān)控及處理方法,其特征在于,所述通過系統(tǒng)進程對指定的應用程序的進程進行監(jiān)控之前包括: 在所述應用程序啟動后,建立或者申請所述系統(tǒng)進程;所述系統(tǒng)進程能夠對至少一個指定的應用程序的進程進行監(jiān)控。
3.根據權利要求1所述的應用程序的監(jiān)控及處理方法,其特征在于,所述通過所述系統(tǒng)進程對所述指定的應用程序的進程進行監(jiān)控包括: 通過在所述系統(tǒng)進程與所述應用程序的進程之間建立的管道,對所述應用程序的進程進行監(jiān)控。
4.根據權利要求1所述的應用程序的監(jiān)控及處理方法,其特征在于,所述判斷所述應用程序的進程的停止是否是異常停止包括: 當所述應用程序的進程停止時,獲取當前應用堆棧棧頂的應用程序,并對所述棧頂的應用程序的包名進行分析; 若所述包名為系統(tǒng)設置,則確定所述應用程序的進程的停止是正常停止;若所述包名不是系統(tǒng)設置的包名,則確定所述應用程序的進程的停止為異常停止。
5.根據權利要求1所述的應用程序的監(jiān)控及處理方法,其特征在于,還包括: 當用戶在所述應用程序主界面上進行手動結束所述應用程序的進程時,所述應用程序的進程向所述系統(tǒng)進程傳遞主動結束的標記; 所述系統(tǒng)進程接收到所述主動結束的標記后,當所述應用程序的進程停止后,不會主動將所述應用程序重新啟動。
6.根據權利要求5所述的應用程序的監(jiān)控及處理方法,其特征在于,還包括: 當再次啟動所述應用程序后,所述應用程序的進程向所述系統(tǒng)進程傳遞再次啟動的標記; 所述系統(tǒng)進程接收到所述再次啟動的標記后,對所述應用程序的進程進行監(jiān)控。
7.根據權利要求1所述的應用程序的監(jiān)控及處理方法,其特征在于,所述若所述系統(tǒng)進程判斷所述應用程序的進程的停止為異常停止,則主動將所述應用程序重新啟動包括: 若所述系統(tǒng)進程判斷所述應用程序的進程的停止為異常停止后,則延時預定的時間后,再主動將所述應用程序重新啟動。
8.根據權利要求1所述的應用程序的監(jiān)控及處理方法,其特征在于,還包括: 在所述系統(tǒng)進程主動將所述應用程序重新啟動后,暫時關閉所述應用程序的圖標在通知欄中的顯示,并開始監(jiān)控鎖屏或充電事件; 當監(jiān)控到鎖屏或充電事件中的任何一個發(fā)生時,則將所述應用程序的圖標在通知欄中顯不。
9.根據權利要求1-10任一項所述的應用程序的監(jiān)控及處理方法,其特征在于,所述應用程序的監(jiān)控及處理方法適用于對安卓操作系統(tǒng)中應用軟件的監(jiān)控及處理。
10.一種應用程序的監(jiān)控及處理裝置,其特征在于,包括: 監(jiān)控單元,用于通過系統(tǒng)進程對指定的應用程序的進程進行監(jiān)控;當監(jiān)控到所述應用程序的進程停止后,判斷所述應用程序的進程的停止是否是異常停止; 恢復單元,用于若所述應用程序的進程的停止為異常停止,主動將所述應用程序重新啟動。
11.根據權利要求10所述的應用程序的監(jiān)控及處理裝置,其特征在于,還包括: 建立單元,用于在所述應用程序啟動后,建立所述系統(tǒng)進程;或者 申請單元,用于在所述應用程序啟動后,申請所述系統(tǒng)進程。
12.根據權利要求10所述的應用程序的監(jiān)控及處理裝置,其特征在于,所述監(jiān)控單元包括: 系統(tǒng)進程模塊,用于對所述應用程序的進程進行監(jiān)控; 管道模塊,用于所述系統(tǒng)進程模塊與被監(jiān)控的應用程序的進程之間的通信。
13.根據權利要求12所述的應用程序的監(jiān)控及處理裝置,其特征在于,所述系統(tǒng)進程模塊包括: 獲取子模塊,用于當所述應用程序的進程停止時,獲取當前應用堆棧棧頂的應用程序; 分析子模塊,用于對所述棧頂的應用程序的包名進行分析; 判斷子模塊,用于若所述包名為系統(tǒng)設置,則確定所述應用程序的進程的停止是正常停止;若所述包名不是系統(tǒng)設置的包名,則確定所述應用程序的進程的停止為異常停止。
14.根據權利要求13所述的應用程序的監(jiān)控及處理裝置,其特征在于,所述系統(tǒng)進程模塊還包括: 接收子模塊,用于當用戶在所述應用程序主界面上進行手動結束所述應用程序的進程時,接收所述應用程序的進程向所述系統(tǒng)進程模塊傳遞的主動結束的標記,并將所述應用程序的主動結束的信息傳遞給所述恢復單元。
15.根據權利要求14所述的應用程序的監(jiān)控及處理裝置,其特征在于,所述接收子模塊,還用于當所述應用程序再次啟動后,接收所述應用程序的進程向所述系統(tǒng)進程模塊傳遞的再次啟動的標記,并啟動對所述應用程序的進程的監(jiān)控。
16.根據權利要求10所述的應用程序的監(jiān)控及處理裝置,其特征在于,所述恢復單元包括: 定時器,用于若所述應用程序的進程的停止為異常停止后,延時預定的時間后,再主動將所述應用程序重新啟動。
17.根據權利要求10所述的應用程序的監(jiān)控及處理裝置,其特征在于,還包括: 顯示控制單元,用于在所述恢復單元主動將所述應用程序重新啟動后,暫時關閉所述應用程序的圖標在通知欄中的顯示,并監(jiān)控鎖屏或充電事件;當監(jiān)控到鎖屏或充電事件中的任何一個發(fā)生時,則所述顯示控制單元將所述應用程序的圖標在通知欄中顯示。
18.根據權利要求13-17任一項所述的應用程序的監(jiān)控及處理裝置,其特征在于,所述應用程序的監(jiān)控及處理裝置適用于對安卓操作系統(tǒng)中應用軟件的監(jiān)控及處理。
【文檔編號】G06F21/52GK103870747SQ201410127832
【公開日】2014年6月18日 申請日期:2014年3月31日 優(yōu)先權日:2014年3月31日
【發(fā)明者】劉偉, 張少林 申請人:可牛網絡技術(北京)有限公司