技術(shù)領(lǐng)域
本公開是關(guān)于計(jì)算機(jī)技術(shù)領(lǐng)域,尤其是關(guān)于一種應(yīng)用程序調(diào)用管理的方法和裝置。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的發(fā)展,手機(jī)等終端逐漸成為現(xiàn)代人的必備品,終端中安裝的各類應(yīng)用程序?yàn)槿藗兊纳詈凸ぷ鲙砹藰O大的便利,如網(wǎng)上購物應(yīng)用程序可以用來購物、辦公應(yīng)用程序可以用來工作等。
當(dāng)一個應(yīng)用程序啟動后,這個應(yīng)用程序有可能會使其它應(yīng)用程序在后臺運(yùn)行,而且這些后臺運(yùn)行的應(yīng)用程序還有可能會向終端推送信息,從而會導(dǎo)致終端的耗電量增加。
技術(shù)實(shí)現(xiàn)要素:
為了克服相關(guān)技術(shù)中存在的問題,本公開提供了一種應(yīng)用程序調(diào)用管理的方法和裝置。技術(shù)方案如下:
根據(jù)本公開實(shí)施例的第一方面,提供一種應(yīng)用程序調(diào)用管理的方法,所述方法包括:
獲取第一應(yīng)用程序發(fā)送的后臺調(diào)用消息,所述后臺調(diào)用消息用于請求調(diào)用目標(biāo)應(yīng)用程序;
根據(jù)所述后臺調(diào)用消息確定本次調(diào)用對應(yīng)的調(diào)用規(guī)則;
若終端拒絕調(diào)用列表中存在與所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第一調(diào)用規(guī)則,則根據(jù)所述第一調(diào)用規(guī)則確定所述目標(biāo)應(yīng)用程序中拒絕調(diào)用的應(yīng)用程序;其中,所述終端拒絕調(diào)用列表中包括至少一條用于控制拒絕調(diào)用的調(diào)用規(guī)則,所述拒絕調(diào)用的應(yīng)用程序是所述目標(biāo)應(yīng)用程序中的全部或部分應(yīng)用程序;
拒絕對所述拒絕調(diào)用的應(yīng)用程序進(jìn)行后臺啟動。
可選的,所述方法還包括:
若終端允許調(diào)用列表中存在與所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第二調(diào)用規(guī)則,則根據(jù)所述第二調(diào)用規(guī)則確定所述目標(biāo)應(yīng)用程序中允許調(diào)用的應(yīng)用程序;其中,所述終端允許調(diào)用列表中包括至少一條用于控制允許調(diào)用的調(diào)用規(guī)則,所述允許調(diào)用的應(yīng)用程序是所述目標(biāo)應(yīng)用程序中的全部或部分應(yīng)用程序;
對所述允許調(diào)用的應(yīng)用程序進(jìn)行后臺啟動。
可選的,所述方法還包括:
若所述目標(biāo)應(yīng)用程序中還包括除所述拒絕調(diào)用的應(yīng)用程序和所述允許調(diào)用的應(yīng)用程序之外的待定應(yīng)用程序,則顯示詢問信息,所述詢問信息用于詢問用戶是否允許調(diào)用所述待定應(yīng)用程序;
在獲取到對應(yīng)于所述詢問信息的拒絕指示之后,拒絕對所述待定應(yīng)用程序進(jìn)行后臺啟動;
在獲取到對應(yīng)于所述詢問信息的允許指示之后,對所述待定應(yīng)用程序進(jìn)行后臺啟動。
可選的,每一條調(diào)用規(guī)則包括:調(diào)用者、被調(diào)用者、被調(diào)用的操作、被調(diào)用的類名和調(diào)用方式中的至少一項(xiàng)。
可選的,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用的調(diào)用者;
所述根據(jù)所述后臺調(diào)用消息確定本次調(diào)用對應(yīng)的調(diào)用規(guī)則,包括:
將發(fā)送所述后臺調(diào)用消息的所述第一應(yīng)用程序確定為所述本次調(diào)用的調(diào)用者。
可選的,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用的被調(diào)用者;
所述根據(jù)所述后臺調(diào)用消息確定本次調(diào)用對應(yīng)的調(diào)用規(guī)則,包括:
獲取所述后臺調(diào)用消息中攜帶的應(yīng)用程序的標(biāo)識;將所述應(yīng)用程序的標(biāo)識所指示的目標(biāo)應(yīng)用程序確定為所述本次調(diào)用的被調(diào)用者;
或者,
獲取所述后臺調(diào)用消息中攜帶的目標(biāo)操作信息;在本地安裝的應(yīng)用程序中,確定支持所述目標(biāo)操作信息對應(yīng)的操作的目標(biāo)應(yīng)用程序?yàn)樗霰敬握{(diào)用的被調(diào)用者。
可選的,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用中被調(diào)用的操作;
所述根據(jù)所述后臺調(diào)用消息確定本次調(diào)用對應(yīng)的調(diào)用規(guī)則,包括:
獲取所述后臺調(diào)用消息中攜帶的目標(biāo)操作信息;
將所述目標(biāo)操作信息對應(yīng)的操作確定為所述本次調(diào)用中被調(diào)用的操作。
可選的,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用中被調(diào)用的類名;
所述根據(jù)所述后臺調(diào)用消息確定本次調(diào)用對應(yīng)的調(diào)用規(guī)則,包括:
獲取所述后臺調(diào)用消息中攜帶的目標(biāo)類名;
將所述目標(biāo)類名確定為所述本次調(diào)用中被調(diào)用的類名。
可選的,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用的調(diào)用方式;
所述根據(jù)所述后臺調(diào)用消息確定本次調(diào)用對應(yīng)的調(diào)用規(guī)則,包括:
將所述第一應(yīng)用程序發(fā)送所述后臺調(diào)用消息所采用的目標(biāo)調(diào)用方式,確定為所述本次調(diào)用的調(diào)用方式。
可選的,所述方法還包括:
向服務(wù)器發(fā)送列表獲取請求,所述列表獲取請求中包括本地安裝的應(yīng)用程序的標(biāo)識;其中,所述服務(wù)器用于從拒絕調(diào)用總列表中獲取與所述本地安裝的應(yīng)用程序相關(guān)的調(diào)用規(guī)則,得到所述終端拒絕調(diào)用列表;所述服務(wù)器還用于從允許調(diào)用總列表中獲取與所述本地安裝的應(yīng)用程序相關(guān)的調(diào)用規(guī)則,得到所述終端允許調(diào)用列表;
接收所述服務(wù)器發(fā)送的所述終端拒絕調(diào)用列表和所述終端允許調(diào)用列表。
可選的,所述方法還包括:
顯示與所述第一應(yīng)用程序相關(guān)的至少一條拒絕調(diào)用規(guī)則;在獲取到對應(yīng)于目標(biāo)拒絕調(diào)用規(guī)則的調(diào)用授權(quán)指令時,在所述終端拒絕調(diào)用列表中刪除所述目標(biāo)拒絕調(diào)用規(guī)則,并將所述目標(biāo)拒絕調(diào)用規(guī)則作為允許調(diào)用規(guī)則添加至所述終端允許調(diào)用列表中;
和/或,
顯示與所述第一應(yīng)用程序相關(guān)的至少一條允許調(diào)用規(guī)則;在獲取到對應(yīng)于目標(biāo)允許調(diào)用規(guī)則的調(diào)用禁止指令時,在所述終端允許調(diào)用列表中刪除所述目標(biāo)允許調(diào)用規(guī)則,并將所述目標(biāo)允許調(diào)用規(guī)則作為拒絕調(diào)用規(guī)則添加至所述終端拒絕調(diào)用列表中。
根據(jù)本公開實(shí)施例的第二方面,提供一種應(yīng)用程序調(diào)用管理的裝置,所述裝置包括:
獲取模塊,用于獲取第一應(yīng)用程序發(fā)送的后臺調(diào)用消息,所述后臺調(diào)用消息用于請求調(diào)用目標(biāo)應(yīng)用程序;
第一確定模塊,用于根據(jù)所述后臺調(diào)用消息確定本次調(diào)用對應(yīng)的調(diào)用規(guī)則;
第二確定模塊,用于若終端拒絕調(diào)用列表中存在與所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第一調(diào)用規(guī)則,則根據(jù)所述第一調(diào)用規(guī)則確定所述目標(biāo)應(yīng)用程序中拒絕調(diào)用的應(yīng)用程序;其中,所述終端拒絕調(diào)用列表中包括至少一條用于控制拒絕調(diào)用的調(diào)用規(guī)則,所述拒絕調(diào)用的應(yīng)用程序是所述目標(biāo)應(yīng)用程序中的全部或部分應(yīng)用程序;
拒絕模塊,用于拒絕對所述拒絕調(diào)用的應(yīng)用程序進(jìn)行后臺啟動。
可選的,所述裝置還包括:
第三確定模塊,用于若終端允許調(diào)用列表中存在與所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第二調(diào)用規(guī)則,則根據(jù)所述第二調(diào)用規(guī)則確定所述目標(biāo)應(yīng)用程序中允許調(diào)用的應(yīng)用程序;其中,所述終端允許調(diào)用列表中包括至少一條用于控制允許調(diào)用的調(diào)用規(guī)則,所述允許調(diào)用的應(yīng)用程序是所述目標(biāo)應(yīng)用程序中的全部或部分應(yīng)用程序;
啟動模塊,用于對所述允許調(diào)用的應(yīng)用程序進(jìn)行后臺啟動。
可選的,所述裝置還包括:
顯示模塊,用于若所述目標(biāo)應(yīng)用程序中還包括除所述拒絕調(diào)用的應(yīng)用程序和所述允許調(diào)用的應(yīng)用程序之外的待定應(yīng)用程序,則顯示詢問信息,所述詢問信息用于詢問用戶是否允許調(diào)用所述待定應(yīng)用程序;
所述拒絕模塊,還用于在獲取到對應(yīng)于所述詢問信息的拒絕指示之后,拒絕對所述待定應(yīng)用程序進(jìn)行后臺啟動;
所述啟動模塊,還用于在獲取到對應(yīng)于所述詢問信息的允許指示之后,對所述待定應(yīng)用程序進(jìn)行后臺啟動。
可選的,每一條調(diào)用規(guī)則包括:調(diào)用者、被調(diào)用者、被調(diào)用的操作、被調(diào)用的類名和調(diào)用方式中的至少一項(xiàng)。
可選的,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用的調(diào)用者;
所述第一確定模塊,包括:第一確定子模塊;
所述第一確定子模塊,用于將發(fā)送所述后臺調(diào)用消息的所述第一應(yīng)用程序確定為所述本次調(diào)用的調(diào)用者。
可選的,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用的被調(diào)用者;
所述第一確定模塊,包括:第二確定子模塊;
所述第二確定子模塊,用于獲取所述后臺調(diào)用消息中攜帶的應(yīng)用程序的標(biāo)識;將所述應(yīng)用程序的標(biāo)識所指示的目標(biāo)應(yīng)用程序確定為所述本次調(diào)用的被調(diào)用者;
或者,
所述第二確定子模塊,用于獲取所述后臺調(diào)用消息中攜帶的目標(biāo)操作信息;在本地安裝的應(yīng)用程序中,確定支持所述目標(biāo)操作信息對應(yīng)的操作的目標(biāo)應(yīng)用程序?yàn)樗霰敬握{(diào)用的被調(diào)用者。
可選的,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用中被調(diào)用的操作;
所述第一確定模塊,包括:第三確定子模塊;
所述第三確定子模塊,用于獲取所述后臺調(diào)用消息中攜帶的目標(biāo)操作信息;將所述目標(biāo)操作信息對應(yīng)的操作確定為所述本次調(diào)用中被調(diào)用的操作。
可選的,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用中被調(diào)用的類名;
所述第一確定模塊,包括:第四確定子模塊;
所述第四確定子模塊,用于獲取所述后臺調(diào)用消息中攜帶的目標(biāo)類名;將所述目標(biāo)類名確定為所述本次調(diào)用中被調(diào)用的類名。
可選的,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用的調(diào)用方式;
所述第一確定模塊,包括:第五確定子模塊;
所述第五確定子模塊,用于將所述第一應(yīng)用程序發(fā)送所述后臺調(diào)用消息所采用的目標(biāo)調(diào)用方式,確定為所述本次調(diào)用的調(diào)用方式。
可選的,所述裝置還包括:
發(fā)送模塊,用于向服務(wù)器發(fā)送列表獲取請求,所述列表獲取請求中包括本地安裝的應(yīng)用程序的標(biāo)識;其中,所述服務(wù)器用于從拒絕調(diào)用總列表中獲取與所述本地安裝的應(yīng)用程序相關(guān)的調(diào)用規(guī)則,得到所述終端拒絕調(diào)用列表;所述服務(wù)器還用于從允許調(diào)用總列表中獲取與所述本地安裝的應(yīng)用程序相關(guān)的調(diào)用規(guī)則,得到所述終端允許調(diào)用列表;
接收模塊,用于接收所述服務(wù)器發(fā)送的所述終端拒絕調(diào)用列表和所述終端允許調(diào)用列表。
可選的,所述裝置還包括:
授權(quán)模塊,用于顯示與所述第一應(yīng)用程序相關(guān)的至少一條拒絕調(diào)用規(guī)則;在獲取到對應(yīng)于目標(biāo)拒絕調(diào)用規(guī)則的調(diào)用授權(quán)指令時,在所述終端拒絕調(diào)用列表中刪除所述目標(biāo)拒絕調(diào)用規(guī)則,并將所述目標(biāo)拒絕調(diào)用規(guī)則作為允許調(diào)用規(guī)則添加至所述終端允許調(diào)用列表中;
和/或,
禁止模塊,用于顯示與所述第一應(yīng)用程序相關(guān)的至少一條允許調(diào)用規(guī)則;在獲取到對應(yīng)于目標(biāo)允許調(diào)用規(guī)則的調(diào)用禁止指令時,在所述終端允許調(diào)用列表中刪除所述目標(biāo)允許調(diào)用規(guī)則,并將所述目標(biāo)允許調(diào)用規(guī)則作為拒絕調(diào)用規(guī)則添加至所述終端拒絕調(diào)用列表中。
根據(jù)本公開實(shí)施例的第三方面,提供一種應(yīng)用程序調(diào)用管理的裝置,所述裝置包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為:
獲取第一應(yīng)用程序發(fā)送的后臺調(diào)用消息,所述后臺調(diào)用消息用于請求調(diào)用目標(biāo)應(yīng)用程序;
根據(jù)所述后臺調(diào)用消息確定本次調(diào)用對應(yīng)的調(diào)用規(guī)則;
若終端拒絕調(diào)用列表中存在與所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第一調(diào)用規(guī)則,則根據(jù)所述第一調(diào)用規(guī)則確定所述目標(biāo)應(yīng)用程序中拒絕調(diào)用的應(yīng)用程序;其中,所述終端拒絕調(diào)用列表中包括至少一條用于控制拒絕調(diào)用的調(diào)用規(guī)則,所述拒絕調(diào)用的應(yīng)用程序是所述目標(biāo)應(yīng)用程序中的全部或部分應(yīng)用程序;
拒絕對所述拒絕調(diào)用的應(yīng)用程序進(jìn)行后臺啟動。
根據(jù)本公開實(shí)施例的第四方面,提供一種應(yīng)用程序調(diào)用管理的方法,所述方法包括:
接收第一應(yīng)用程序發(fā)送的后臺調(diào)用消息,確定所述后臺調(diào)用消息對應(yīng)的目標(biāo)應(yīng)用程序;
獲取預(yù)先存儲的所述第一應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表,所述終端拒絕調(diào)用列表中記錄有至少一個應(yīng)用程序;
對所述目標(biāo)應(yīng)用程序中未包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,并拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動。
可選的,所述后臺調(diào)用消息中攜帶有應(yīng)用程序的標(biāo)識;
所述確定所述后臺調(diào)用消息對應(yīng)的目標(biāo)應(yīng)用程序,包括:
確定所述后臺調(diào)用消息中攜帶的應(yīng)用程序的標(biāo)識對應(yīng)的目標(biāo)應(yīng)用程序。
可選的,所述后臺調(diào)用消息中攜帶有目標(biāo)操作信息;
所述確定所述后臺調(diào)用消息對應(yīng)的目標(biāo)應(yīng)用程序,包括:
在本地安裝的應(yīng)用程序中,確定支持所述目標(biāo)操作信息對應(yīng)的操作的目標(biāo)應(yīng)用程序。
可選的,所述方法還包括:
當(dāng)接收到用戶輸入的第一應(yīng)用程序?qū)Φ诙?yīng)用程序的調(diào)用授權(quán)指令時,在所述終端拒絕調(diào)用列表中刪除所述第二應(yīng)用程序。
可選的,所述方法還包括:
當(dāng)滿足預(yù)設(shè)的列表更新條件時,向服務(wù)器發(fā)送列表更新請求,所述列表更新請求中攜帶有當(dāng)前終端安裝的所有應(yīng)用程序的標(biāo)識,以使所述服務(wù)器獲取存儲的所述所有應(yīng)用程序中每個應(yīng)用程序?qū)?yīng)的拒絕調(diào)用總列表,根據(jù)每個所述拒絕調(diào)用總列表中包含的所述終端已安裝的應(yīng)用程序,分別構(gòu)建所述每個應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表;
接收所述服務(wù)器發(fā)送的所述每個應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表,并進(jìn)行存儲。
可選的,所述后臺調(diào)用消息中攜帶有目標(biāo)操作信息,所述終端拒絕調(diào)用列表中記錄有所述至少一個應(yīng)用程序中每個應(yīng)用程序?qū)?yīng)的操作信息;
所述拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,包括:拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表且對應(yīng)的操作信息與所述目標(biāo)操作信息相同的應(yīng)用程序進(jìn)行后臺啟動;
所述方法還包括:對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表且對應(yīng)的操作信息與所述目標(biāo)操作信息不同的應(yīng)用程序進(jìn)行后臺啟動。
可選的,所述方法還包括:
確定所述后臺調(diào)用消息對應(yīng)的目標(biāo)調(diào)用類名;
所述拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,包括:拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表且對應(yīng)的調(diào)用類名與所述目標(biāo)調(diào)用類名相同的應(yīng)用程序進(jìn)行后臺啟動;
所述方法還包括:對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表且對應(yīng)的調(diào)用類名與所述目標(biāo)調(diào)用類名不同的應(yīng)用程序進(jìn)行后臺啟動。
可選的,所述獲取預(yù)先存儲的所述第一應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表,所述終端拒絕調(diào)用列表中記錄有至少一個應(yīng)用程序,包括:
確定所述后臺調(diào)用消息對應(yīng)的目標(biāo)調(diào)用方式;
獲取預(yù)先存儲的與所述第一應(yīng)用程序和所述目標(biāo)調(diào)用方式相對應(yīng)的終端拒絕調(diào)用列表,所述終端拒絕調(diào)用列表中記錄有至少一個應(yīng)用程序。
可選的,所述對所述目標(biāo)應(yīng)用程序中未包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,并拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,包括:
確定所述后臺調(diào)用消息對應(yīng)的目標(biāo)調(diào)用方式;
根據(jù)所述目標(biāo)調(diào)用方式,對所述目標(biāo)應(yīng)用程序中未包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,并拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,其中,所述目標(biāo)調(diào)用方式包括Start Activity、Send Broadcast、Start Service(bind Service)、Get Content Provider中任意一種。
根據(jù)本公開實(shí)施例的第五方面,提供一種應(yīng)用程序調(diào)用管理的裝置,所述裝置包括:
確定模塊,用于接收第一應(yīng)用程序發(fā)送的后臺調(diào)用消息,確定所述后臺調(diào)用消息對應(yīng)的目標(biāo)應(yīng)用程序;
獲取模塊,用于獲取預(yù)先存儲的所述第一應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表,所述終端拒絕調(diào)用列表中記錄有至少一個應(yīng)用程序;
啟動模塊,用于對所述目標(biāo)應(yīng)用程序中未包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,并拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動。
可選的,所述后臺調(diào)用消息中攜帶有應(yīng)用程序的標(biāo)識;
所述確定模塊,用于:
確定所述后臺調(diào)用消息中攜帶的應(yīng)用程序的標(biāo)識對應(yīng)的目標(biāo)應(yīng)用程序。
可選的,所述后臺調(diào)用消息中攜帶有目標(biāo)操作信息;
所述確定模塊,用于:
在本地安裝的應(yīng)用程序中,確定支持所述目標(biāo)操作信息對應(yīng)的操作的目標(biāo)應(yīng)用程序。
可選的,所述裝置還包括:
刪除模塊,用于當(dāng)接收到用戶輸入的第一應(yīng)用程序?qū)Φ诙?yīng)用程序的調(diào)用授權(quán)指令時,在所述終端拒絕調(diào)用列表中刪除所述第二應(yīng)用程序。
可選的,所述裝置還包括:
發(fā)送模塊,用于當(dāng)滿足預(yù)設(shè)的列表更新條件時,向服務(wù)器發(fā)送列表更新請求,所述列表更新請求中攜帶有當(dāng)前終端安裝的所有應(yīng)用程序的標(biāo)識,以使所述服務(wù)器獲取存儲的所述所有應(yīng)用程序中每個應(yīng)用程序?qū)?yīng)的拒絕調(diào)用總列表,根據(jù)每個所述拒絕調(diào)用總列表中包含的所述終端已安裝的應(yīng)用程序,分別構(gòu)建所述每個應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表;
接收模塊,用于接收所述服務(wù)器發(fā)送的所述每個應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表,并進(jìn)行存儲。
可選的,所述后臺調(diào)用消息中攜帶有目標(biāo)操作信息,所述終端拒絕調(diào)用列表中記錄有所述至少一個應(yīng)用程序中每個應(yīng)用程序?qū)?yīng)的操作信息;
所述啟動模塊,用于:拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表且對應(yīng)的操作信息與所述目標(biāo)操作信息相同的應(yīng)用程序進(jìn)行后臺啟動;
所述啟動模塊,還用于:對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表且對應(yīng)的操作信息與所述目標(biāo)操作信息不同的應(yīng)用程序進(jìn)行后臺啟動。
可選的,所述確定模塊,還用于:
確定所述后臺調(diào)用消息對應(yīng)的目標(biāo)調(diào)用類名;
所述啟動模塊,用于:拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表且對應(yīng)的調(diào)用類名與所述目標(biāo)調(diào)用類名相同的應(yīng)用程序進(jìn)行后臺啟動;
所述啟動模塊,還用于:對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表且對應(yīng)的調(diào)用類名與所述目標(biāo)調(diào)用類名不同的應(yīng)用程序進(jìn)行后臺啟動。
可選的,所述獲取模塊包括確定子模塊和獲取子模塊,其中:
所述確定子模塊,用于所述后臺調(diào)用消息對應(yīng)的目標(biāo)調(diào)用方式;
所述獲取子模塊,用于獲取預(yù)先存儲的與所述第一應(yīng)用程序和所述目標(biāo)調(diào)用方式相對應(yīng)的終端拒絕調(diào)用列表,所述終端拒絕調(diào)用列表中記錄有至少一個應(yīng)用程序。
可選的,所述確定子模塊,用于:確定所述后臺調(diào)用消息對應(yīng)的目標(biāo)調(diào)用方式;
所述啟動模塊,用于:根據(jù)所述目標(biāo)調(diào)用方式,對所述目標(biāo)應(yīng)用程序中未包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,并拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,其中,所述目標(biāo)調(diào)用方式包括Start Activity、Send Broadcast、Start Service(bind Service)、Get Content Provider中任意一種。
根據(jù)本公開實(shí)施例的第六方面,提供一種應(yīng)用程序調(diào)用管理的裝置,所述裝置包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為:
接收第一應(yīng)用程序發(fā)送的后臺調(diào)用消息,確定所述后臺調(diào)用消息對應(yīng)的目標(biāo)應(yīng)用程序;
獲取預(yù)先存儲的所述第一應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表,所述終端拒絕調(diào)用列表中記錄有至少一個應(yīng)用程序;
對所述目標(biāo)應(yīng)用程序中未包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,并拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動。
本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
通過根據(jù)后臺調(diào)用消息確定本次調(diào)用對應(yīng)的調(diào)用規(guī)則,若終端拒絕調(diào)用列表中存在與本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第一調(diào)用規(guī)則,則根據(jù)第一調(diào)用規(guī)則確定目標(biāo)應(yīng)用程序中拒絕調(diào)用的應(yīng)用程序,并拒絕對拒絕調(diào)用的應(yīng)用程序進(jìn)行后臺啟動。這樣,第一應(yīng)用程序調(diào)用其它應(yīng)用程序進(jìn)行后臺啟動時,系統(tǒng)程序可以根據(jù)終端拒絕調(diào)用列表,拒絕某個或某些應(yīng)用程序進(jìn)行后臺啟動,這樣,可以降低終端的耗電量。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本公開的實(shí)施例,并與說明書一起用于解釋本公開的原理。在附圖中:
圖1是根據(jù)一示例性實(shí)施例示出的一種應(yīng)用程序調(diào)用管理的方法的流程圖;
圖2是根據(jù)另一示例性實(shí)施例示出的一種應(yīng)用程序調(diào)用管理的方法的流程圖;
圖3是根據(jù)一示例性實(shí)施例示出的一種主界面的示意圖;
圖4是根據(jù)另一示例性實(shí)施例示出的一種應(yīng)用程序調(diào)用管理的方法的流程圖;
圖5是根據(jù)一示例性實(shí)施例示出的一種應(yīng)用程序調(diào)用管理的裝置的框圖;
圖6是根據(jù)另一示例性實(shí)施例示出的一種應(yīng)用程序調(diào)用管理的裝置的框圖;
圖7是根據(jù)另一示例性實(shí)施例示出的一種應(yīng)用程序調(diào)用管理的裝置的框圖;
圖8是根據(jù)另一示例性實(shí)施例示出的一種應(yīng)用程序調(diào)用管理的裝置的框圖;
圖9是根據(jù)另一示例性實(shí)施例示出的一種應(yīng)用程序調(diào)用管理的裝置的框圖;
圖10是根據(jù)另一示例性實(shí)施例示出的一種應(yīng)用程序調(diào)用管理的裝置的框圖;
圖11是根據(jù)一示例性實(shí)施例示出的一種終端的結(jié)構(gòu)示意圖。
通過上述附圖,已示出本公開明確的實(shí)施例,后文中將有更詳細(xì)的描述。這些附圖和文字描述并不是為了通過任何方式限制本公開構(gòu)思的范圍,而是通過參考特定實(shí)施例為本領(lǐng)域技術(shù)人員說明本公開的概念。
具體實(shí)施方式
這里將詳細(xì)地對示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本公開相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本公開的一些方面相一致的裝置和方法的例子。
在進(jìn)行實(shí)施前,首先對應(yīng)用程序調(diào)用其它應(yīng)用程序后臺啟動的過程進(jìn)行說明,終端的系統(tǒng)程序?yàn)榻K端中的應(yīng)用程序提供了調(diào)用其它應(yīng)用程序進(jìn)行后臺啟動的功能,某應(yīng)用程序可以向系統(tǒng)程序發(fā)送后臺調(diào)用消息,系統(tǒng)程序接收到后臺調(diào)用消息后,可以對后臺調(diào)用消息對應(yīng)的應(yīng)用程序進(jìn)行后臺啟動,即將此應(yīng)用程序啟動并在后臺運(yùn)行。
本公開實(shí)施例提供的方法,各步驟的執(zhí)行主體可以是終端。終端的系統(tǒng)程序可以是安卓系統(tǒng)程序,終端可以是具有支持安裝應(yīng)用程序功能的任意終端,比如智能手機(jī)、平板電腦等移動終端。該終端中可以設(shè)置有處理器、存儲器、收發(fā)器等,處理器可以用于對應(yīng)用程序調(diào)用管理的過程進(jìn)行處理,存儲器可以用于存儲下述處理過程中需要的數(shù)據(jù)以及產(chǎn)生的數(shù)據(jù),收發(fā)器可以用于接收以及發(fā)送消息。終端中還可以設(shè)置有屏幕等輸入輸出設(shè)備,屏幕可以用于設(shè)置界面等的顯示,可以是觸控式的屏幕。在本公開實(shí)施例中,以終端為手機(jī)、系統(tǒng)程序?yàn)榘沧肯到y(tǒng)程序?yàn)槔M(jìn)行方案的詳細(xì)說明,其它情況與之類似,本公開實(shí)施例不再累述。
圖1是本公開一示例性實(shí)施例示出的一種應(yīng)用程序調(diào)用管理的方法的流程圖,該方法的處理流程可以包括如下的步驟:
步驟101中,獲取第一應(yīng)用程序發(fā)送的后臺調(diào)用消息,后臺調(diào)用消息用于請求調(diào)用目標(biāo)應(yīng)用程序。
步驟102中,根據(jù)后臺調(diào)用消息確定本次調(diào)用對應(yīng)的調(diào)用規(guī)則。
步驟103中,若終端拒絕調(diào)用列表中存在與本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第一調(diào)用規(guī)則,則根據(jù)第一調(diào)用規(guī)則確定目標(biāo)應(yīng)用程序中拒絕調(diào)用的應(yīng)用程序。其中,終端拒絕調(diào)用列表中包括至少一條用于控制拒絕調(diào)用的調(diào)用規(guī)則,拒絕調(diào)用的應(yīng)用程序是目標(biāo)應(yīng)用程序中的全部或部分應(yīng)用程序。
步驟104中,拒絕對拒絕調(diào)用的應(yīng)用程序進(jìn)行后臺啟動。
綜上所述,本實(shí)施例提供的方法,通過根據(jù)后臺調(diào)用消息確定本次調(diào)用對應(yīng)的調(diào)用規(guī)則,若終端拒絕調(diào)用列表中存在與本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第一調(diào)用規(guī)則,則根據(jù)第一調(diào)用規(guī)則確定目標(biāo)應(yīng)用程序中拒絕調(diào)用的應(yīng)用程序,并拒絕對拒絕調(diào)用的應(yīng)用程序進(jìn)行后臺啟動。這樣,第一應(yīng)用程序調(diào)用其它應(yīng)用程序進(jìn)行后臺啟動時,系統(tǒng)程序可以根據(jù)終端拒絕調(diào)用列表,拒絕某個或某些應(yīng)用程序進(jìn)行后臺啟動,這樣,可以降低終端的耗電量。
圖2是本公開另一示例性實(shí)施例示出的一種應(yīng)用程序調(diào)用管理的方法的流程圖,該方法的處理流程可以包括如下的步驟:
步驟201中,獲取第一應(yīng)用程序發(fā)送的后臺調(diào)用消息,后臺調(diào)用消息用于請求調(diào)用目標(biāo)應(yīng)用程序。
終端中安裝有第一應(yīng)用程序。第一應(yīng)用程序在被啟動(后臺啟動或前臺啟動)運(yùn)行之后,可以是用戶打開第一應(yīng)用程序前臺啟動,或者第一應(yīng)用程序被其它應(yīng)用程序調(diào)用后臺啟動,第一應(yīng)用程序可以向系統(tǒng)程序發(fā)送后臺調(diào)用消息。其中,系統(tǒng)程序可以是終端的Framework(架構(gòu))層的應(yīng)用程序。后臺調(diào)用消息可以是通過Start activity(界面活動)、Send broadcast(發(fā)送廣播)、Start service(bind Service)(啟動服務(wù))、Get content provider(共享數(shù)據(jù)庫)四種調(diào)用方式中的任意一種發(fā)送。后臺調(diào)用消息用于請求調(diào)用目標(biāo)應(yīng)用程序。
在一種可能的實(shí)施方式中,后臺調(diào)用消息中攜帶有應(yīng)用程序的標(biāo)識,該應(yīng)用程序的標(biāo)識所指示的即為第一應(yīng)用程序請求調(diào)用的目標(biāo)應(yīng)用程序??蛇x的,后臺調(diào)用消息中還攜帶有目標(biāo)類名,該目標(biāo)類名所指示的類即為第一應(yīng)用程序請求調(diào)用的目標(biāo)應(yīng)用程序的類。在一個示例中,假設(shè)后臺調(diào)用消息中攜帶的應(yīng)用程序的標(biāo)識為應(yīng)用程序的包名“Com.test.b”,以及攜帶的目標(biāo)類名為“Com.test.push.sdk.PUshService”,則說明第一應(yīng)用程序請求調(diào)用包名為“Com.test.b”的目標(biāo)應(yīng)用程序的名稱為“Com.test.push.sdk.PUshService”的類。
在另一種可能的實(shí)施方式中,后臺調(diào)用消息中攜帶有目標(biāo)操作信息(Action,動作),該目標(biāo)操作信息用于指示被調(diào)用的操作。終端本地安裝的應(yīng)用程序中,支持上述目標(biāo)操作信息對應(yīng)的操作的應(yīng)用程序即為第一應(yīng)用程序請求調(diào)用的目標(biāo)應(yīng)用程序。在一個示例中,假設(shè)后臺調(diào)用消息中攜帶的目標(biāo)操作信息為“Com.text.SEND_MESSAGE”,該目標(biāo)操作信息用于指示被調(diào)用的操作為發(fā)短信操作,則說明第一應(yīng)用程序請求調(diào)用終端本地安裝的應(yīng)用程序中,能夠執(zhí)行發(fā)短信操作的所有應(yīng)用程序。指端本地安裝的應(yīng)用程序中,能夠執(zhí)行發(fā)短信操作的應(yīng)用程序可能是一個,也可能是多個。
步驟202中,根據(jù)后臺調(diào)用消息確定本次調(diào)用對應(yīng)的調(diào)用規(guī)則。
本次調(diào)用對應(yīng)的調(diào)用規(guī)則包括:調(diào)用者(caller)、被調(diào)用者(callee)、被調(diào)用的操作(action)、被調(diào)用的類名(classname)和調(diào)用方式(type)中的至少一項(xiàng)。
1、如果本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用的調(diào)用者,則終端可采用如下方式確定本次調(diào)用的調(diào)用者:
終端將發(fā)送后臺調(diào)用消息的第一應(yīng)用程序確定為本次調(diào)用的調(diào)用者。例如,第一應(yīng)用程序的包名為“Com.test.a”,則本次調(diào)用的調(diào)用者即為包名為“Com.test.a”的應(yīng)用程序。
2、如果本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用的被調(diào)用者,則終端可采用如下方式確定本次調(diào)用的被調(diào)用者:
在一種可能的實(shí)施方式中,終端獲取后臺調(diào)用消息中攜帶的應(yīng)用程序的標(biāo)識,將該應(yīng)用程序的標(biāo)識所指示的目標(biāo)應(yīng)用程序確定為本次調(diào)用的被調(diào)用者。例如,后臺調(diào)用消息中攜帶應(yīng)用程序的包名“Com.test.b”和“Com.test.c”,則本次調(diào)用的被調(diào)用者即為包名為“Com.test.b”和“Com.test.c”的兩個應(yīng)用程序。
在另一種可能的實(shí)施方式中,終端獲取后臺調(diào)用消息中攜帶的目標(biāo)操作信息,在本地安裝的應(yīng)用程序中,確定支持目標(biāo)操作信息對應(yīng)的操作的目標(biāo)應(yīng)用程序?yàn)楸敬握{(diào)用的被調(diào)用者。例如,后臺調(diào)用消息中攜帶的目標(biāo)操作信息為“Com.text.SEND_MESSAGE”,終端本地安裝的應(yīng)用程序中,能夠執(zhí)行發(fā)短信操作的應(yīng)用程序包括應(yīng)用程序A和應(yīng)用程序B,則本次調(diào)用的被調(diào)用者即為應(yīng)用程序A和應(yīng)用程序B兩個應(yīng)用程序。
3、如果本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用中被調(diào)用的操作,則終端可采用如下方式確定本次調(diào)用中被調(diào)用的操作:
終端獲取后臺調(diào)用消息中攜帶的目標(biāo)操作信息,將目標(biāo)操作信息對應(yīng)的操作確定為本次調(diào)用中被調(diào)用的操作。例如,后臺調(diào)用消息中攜帶的目標(biāo)操作信息為“Com.text.SEND_MESSAGE”,則本地調(diào)用中被調(diào)用的操作即為發(fā)短信操作。
4、如果本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用中被調(diào)用的類名,則終端可采用如下方式確定本次調(diào)用中被調(diào)用的類名:
終端獲取后臺調(diào)用消息中攜帶的目標(biāo)類名,將目標(biāo)類名確定為本次調(diào)用中被調(diào)用的類名。例如,后臺調(diào)用消息中攜帶的目標(biāo)類名為“Com.test.push.sdk.PUshService”,則本次調(diào)用中被調(diào)用的類名即為“Com.test.push.sdk.PUshService”。
5、如果本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用的調(diào)用方式,則終端可采用如下方式確定本次調(diào)用的調(diào)用方式:
終端將第一應(yīng)用程序發(fā)送后臺調(diào)用消息所采用的目標(biāo)調(diào)用方式,確定為本次調(diào)用的調(diào)用方式。在上文已經(jīng)介紹,調(diào)用者可采用Start activity、Send broadcast、Start service(bind Service)、Get content provider四種調(diào)用方式中的任意一種發(fā)送后臺調(diào)用消息,假設(shè)第一應(yīng)用程序發(fā)送后臺調(diào)用消息所采用的目標(biāo)調(diào)用方式為Start activity,則本次調(diào)用的調(diào)用方式即為Start activity。
終端可根據(jù)后臺調(diào)用消息中攜帶的信息提取調(diào)用者、被調(diào)用者、被調(diào)用的操作、被調(diào)用的類名和調(diào)用方式這5項(xiàng)信息中的任意一項(xiàng)或多項(xiàng),以確定本次調(diào)用對應(yīng)的調(diào)用規(guī)則。在一個示例中,本次調(diào)用對應(yīng)的調(diào)用規(guī)則包括:調(diào)用者“Com.test.a”,被調(diào)用者“Com.test.b”,被調(diào)用的類名“Com.test.push.sdk.PUshService”以及調(diào)用方式“Start service”。在另一個示例中,本次調(diào)用對應(yīng)的調(diào)用規(guī)則包括:被調(diào)用的操作“Com.text.SEND_MESSAGE”和調(diào)用方式“Send broadcast”。
在本實(shí)施例中,終端中存儲有終端拒絕調(diào)用列表。終端拒絕調(diào)用列表中包括至少一條用于控制拒絕調(diào)用的調(diào)用規(guī)則。對于符合終端拒絕調(diào)用列表中所包括的調(diào)用規(guī)則的調(diào)用過程,終端拒絕執(zhí)行??蛇x的,終端中還存儲有終端允許調(diào)用列表。終端允許調(diào)用列表中包括至少一條用于控制允許調(diào)用的調(diào)用規(guī)則。對于符合終端允許調(diào)用列表中所包括的調(diào)用規(guī)則的調(diào)用過程,終端允許執(zhí)行。
以終端拒絕調(diào)用列表為例,其包括的調(diào)用規(guī)則可以如下表-1所示:
表-1
在表-1中,“*”表示通配符,以使得一條調(diào)用規(guī)則可覆蓋盡可能多的調(diào)用關(guān)系,減少終端拒絕調(diào)用列表中所需包括的調(diào)用規(guī)則的數(shù)量,從而有助于節(jié)省終端的存儲資源。以上述表-1所示的第3條調(diào)用規(guī)則為例,當(dāng)被調(diào)用的操作為“Com.text.SEND_MESSAGE”且采用的調(diào)用方式為“sendBroadcast”時,不論調(diào)用者、被調(diào)用者和被調(diào)用的類名如何,均符合該調(diào)用規(guī)則。另外,終端允許調(diào)用列表中包括的調(diào)用規(guī)則可參考上述表-1所示。
終端確定本次調(diào)用對應(yīng)的調(diào)用規(guī)則之后,檢測終端拒絕調(diào)用列表中是否存在與本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第一調(diào)用規(guī)則,以及檢測終端允許調(diào)用列表中是否存在與本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第二調(diào)用規(guī)則。在本實(shí)施例中,對上述兩個檢測步驟的執(zhí)行先后順序不作限定。可選的,終端先執(zhí)行檢測終端允許調(diào)用列表中是否存在與本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第二調(diào)用規(guī)則的步驟,以確保允許執(zhí)行的調(diào)用過程能夠更快地被執(zhí)行。
步驟203中,若終端拒絕調(diào)用列表中存在與本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第一調(diào)用規(guī)則,則根據(jù)第一調(diào)用規(guī)則確定目標(biāo)應(yīng)用程序中拒絕調(diào)用的應(yīng)用程序。
例如,本次調(diào)用對應(yīng)的調(diào)用規(guī)則包括:調(diào)用者“Com.test.a”,被調(diào)用者“Com.test.b”,被調(diào)用的類名“Com.test.push.sdk.PUshService”以及調(diào)用方式“Start service”。終端拒絕調(diào)用列表中包括的調(diào)用規(guī)則如上表-1所示,則終端拒絕調(diào)用列表中的第1條調(diào)用規(guī)則與本次調(diào)用的調(diào)用規(guī)則相匹配,終端確定包名為“Com.test.b”的應(yīng)用程序?yàn)榫芙^調(diào)用的應(yīng)用程序。
另外,拒絕調(diào)用的應(yīng)用程序是目標(biāo)應(yīng)用程序中的全部或部分應(yīng)用程序。例如,本次調(diào)用對應(yīng)的調(diào)用規(guī)則包括:調(diào)用者“Com.test.a”,被調(diào)用者“Com.test.b”和“Com.test.c”,被調(diào)用的類名“Com.test.push.sdk.PUshService”以及調(diào)用方式“Start service”。第一應(yīng)用程序請求調(diào)用的目標(biāo)應(yīng)用程序包括包名為“Com.test.b”和“Com.test.c”的兩個應(yīng)用程序,其中包名為“Com.test.b”的應(yīng)用程序?yàn)榫芙^調(diào)用的應(yīng)用程序,包名為“Com.test.c”的應(yīng)用程序并非拒絕調(diào)用的應(yīng)用程序。
步驟204中,拒絕對拒絕調(diào)用的應(yīng)用程序進(jìn)行后臺啟動。
步驟205中,若終端允許調(diào)用列表中存在與本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第二調(diào)用規(guī)則,則根據(jù)第二調(diào)用規(guī)則確定目標(biāo)應(yīng)用程序中允許調(diào)用的應(yīng)用程序。
例如,本次調(diào)用對應(yīng)的調(diào)用規(guī)則包括:被調(diào)用的操作“Com.text.SEND_MESSAGE”和調(diào)用方式“Send broadcast”。終端允許調(diào)用列表中包括如上表-1所示的第3條調(diào)用規(guī)則,且假設(shè)終端本地安裝的應(yīng)用程序中能夠執(zhí)行發(fā)短信操作的應(yīng)用程序包括應(yīng)用程序A和應(yīng)用程序B,則終端確定應(yīng)用程序A和應(yīng)用程序B均為允許調(diào)用的應(yīng)用程序。
另外,允許調(diào)用的應(yīng)用程序是目標(biāo)應(yīng)用程序中的全部或部分應(yīng)用程序。例如,本次調(diào)用對應(yīng)的調(diào)用規(guī)則包括:被調(diào)用的操作“Com.text.SEND_MESSAGE”和調(diào)用方式“Send broadcast”。終端允許調(diào)用列表中與本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第二調(diào)用規(guī)則包括:被調(diào)用者“應(yīng)用程序A”、被調(diào)用的操作“Com.text.SEND_MESSAGE”和調(diào)用方式“Send broadcast”。仍然假設(shè)終端本地安裝的應(yīng)用程序中能夠執(zhí)行發(fā)短信操作的應(yīng)用程序包括應(yīng)用程序A和應(yīng)用程序B,則終端確定應(yīng)用程序A為允許調(diào)用的應(yīng)用程序,應(yīng)用程序B并非允許調(diào)用的應(yīng)用程序。
步驟206中,對允許調(diào)用的應(yīng)用程序進(jìn)行后臺啟動。
可選的,本實(shí)施例提供的方法還包括如下步驟207至步驟209。
步驟207中,若目標(biāo)應(yīng)用程序中還包括除拒絕調(diào)用的應(yīng)用程序和允許調(diào)用的應(yīng)用程序之外的待定應(yīng)用程序,則顯示詢問信息。
詢問信息用于詢問用戶是否允許調(diào)用待定應(yīng)用程序。例如,目標(biāo)應(yīng)用程序包括應(yīng)用程序A、應(yīng)用程序B和應(yīng)用程序C,其中應(yīng)用程序A和應(yīng)用程序B為拒絕調(diào)用的應(yīng)用程序,應(yīng)用程序C既不是拒絕調(diào)用的應(yīng)用程序也不是允許調(diào)用的應(yīng)用程序,則終端將該應(yīng)用程序C確定為待定應(yīng)用程序,并顯示詢問信息,用于詢問用戶是否允許調(diào)用應(yīng)用程序C。例如,該詢問信息為“第一應(yīng)用程序嘗試啟動應(yīng)用程序C,是否允許?”。
用戶可根據(jù)終端顯示的詢問信息,觸發(fā)拒絕指示或者允許指示。
步驟208中,在獲取到對應(yīng)于詢問信息的拒絕指示之后,拒絕對待定應(yīng)用程序進(jìn)行后臺啟動。
步驟209中,在獲取到對應(yīng)于詢問信息的允許指示之后,對待定應(yīng)用程序進(jìn)行后臺啟動。
綜上所述,本實(shí)施例提供的方法,通過根據(jù)后臺調(diào)用消息確定本次調(diào)用對應(yīng)的調(diào)用規(guī)則,若終端拒絕調(diào)用列表中存在與本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第一調(diào)用規(guī)則,則根據(jù)第一調(diào)用規(guī)則確定目標(biāo)應(yīng)用程序中拒絕調(diào)用的應(yīng)用程序,并拒絕對拒絕調(diào)用的應(yīng)用程序進(jìn)行后臺啟動。這樣,第一應(yīng)用程序調(diào)用其它應(yīng)用程序進(jìn)行后臺啟動時,系統(tǒng)程序可以根據(jù)終端拒絕調(diào)用列表,拒絕某個或某些應(yīng)用程序進(jìn)行后臺啟動,這樣,可以降低終端的耗電量。
另外,還通過設(shè)置終端允許調(diào)用列表,若終端允許調(diào)用列表中存在與本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第二調(diào)用規(guī)則,則根據(jù)第二調(diào)用規(guī)則確定目標(biāo)應(yīng)用程序中允許調(diào)用的應(yīng)用程序,并對允許調(diào)用的應(yīng)用程序進(jìn)行后臺啟動。這樣,確保了一些允許調(diào)用的應(yīng)用程序能夠被正常調(diào)用。
另外,還通過在目標(biāo)應(yīng)用程序中還包括除拒絕調(diào)用的應(yīng)用程序和允許調(diào)用的應(yīng)用程序之外的待定應(yīng)用程序時,顯示詢問信息,以詢問用戶是否允許調(diào)用待定應(yīng)用程序,由用戶自主決定是否允許調(diào)用待定應(yīng)用程序,使得應(yīng)用程序之間的調(diào)用經(jīng)過系統(tǒng)或者用戶允許之后才能執(zhí)行,提高安全性。
對于應(yīng)用程序在未經(jīng)控制的情況下進(jìn)行后臺調(diào)用,會存在如下問題:1、安全隱患:應(yīng)用程序在后臺被調(diào)用啟動后,可能在后臺執(zhí)行讀取用戶的隱私、定位、支付密碼或者錄屏等一系列影響安全性的操作;2、消耗電量:應(yīng)用程序在后臺啟動運(yùn)行之后會消耗電量,尤其是使用定位、錄屏、錄音等功能時會消耗大量電量,導(dǎo)致終端的待機(jī)時間變短,設(shè)備發(fā)熱;3、占用內(nèi)存:應(yīng)用程序在后臺啟動運(yùn)行之后會占用內(nèi)容,導(dǎo)致終端出現(xiàn)內(nèi)存不出、卡頓等情況;4、消息推送過多:應(yīng)用程序在后臺啟動運(yùn)行之后可能會發(fā)出推送信息。通過本公開實(shí)施例提供的技術(shù)方案,所有應(yīng)用程序之間的調(diào)用都需要經(jīng)過系統(tǒng)或者用戶的允許,可以有效解決上述問題,降低終端的電量和內(nèi)存消耗,提高終端的待機(jī)時間,減少設(shè)備發(fā)熱情況,減少消息推送,且提高安全性。
本公開實(shí)施例還提供了終端獲取終端拒絕調(diào)用列表和終端允許調(diào)用列表的方法,相應(yīng)的處理可以包括:
1、向服務(wù)器發(fā)送列表獲取請求;
列表獲取請求中包括終端本地安裝的應(yīng)用程序的標(biāo)識。服務(wù)器用于從拒絕調(diào)用總列表中獲取與終端本地安裝的應(yīng)用程序相關(guān)的調(diào)用規(guī)則,得到終端拒絕調(diào)用列表。服務(wù)器還用于從允許調(diào)用總列表中獲取與終端本地安裝的應(yīng)用程序相關(guān)的調(diào)用規(guī)則,得到終端允許調(diào)用列表。
在實(shí)施中,技術(shù)人員可以收集安卓系統(tǒng)支持的所有應(yīng)用程序,可以是每個開啟了同步功能的終端,向網(wǎng)絡(luò)服務(wù)器(技術(shù)人員設(shè)置的用于存儲應(yīng)用程序的拒絕調(diào)用總列表和允許調(diào)用總列表的服務(wù)器,簡稱為服務(wù)器)發(fā)送安裝的應(yīng)用程序間的調(diào)用關(guān)系,技術(shù)人員根據(jù)每個終端發(fā)送的調(diào)用關(guān)系,進(jìn)行整理和分析,得到拒絕調(diào)用總列表和允許調(diào)用總列表,并且存儲至服務(wù)器。例如,對于一些可能存在安全隱患的調(diào)用和一些純粹是為了推送消息以提高應(yīng)用存活率的調(diào)用,技術(shù)人員可從這類調(diào)用關(guān)系中提取出調(diào)用規(guī)則,并添加至拒絕調(diào)用總列表中。又例如,對于一些應(yīng)用程序間正常的相互調(diào)用,如支付、分享、授權(quán)登錄等調(diào)用關(guān)系,技術(shù)人員可從這類調(diào)用關(guān)系中提取出調(diào)用規(guī)則,并添加至允許調(diào)用總列表中。
終端可以將自己安裝的所有應(yīng)用程序的標(biāo)識發(fā)送至服務(wù)器,服務(wù)器接收到終端發(fā)送的程序標(biāo)識后,可以從拒絕調(diào)用總列表中獲取與終端本地安裝的應(yīng)用程序相關(guān)的調(diào)用規(guī)則,得到終端拒絕調(diào)用列表,還可以從允許調(diào)用總列表中獲取與終端本地安裝的應(yīng)用程序相關(guān)的調(diào)用規(guī)則,得到終端允許調(diào)用列表。之后,服務(wù)器將終端拒絕調(diào)用列表和終端允許調(diào)用列表發(fā)送給終端。
2、接收服務(wù)器發(fā)送的終端拒絕調(diào)用列表和終端允許調(diào)用列表。
終端接收到終端拒絕調(diào)用列表和終端允許調(diào)用列表之后,可以進(jìn)行存儲。
考慮到安卓平臺的應(yīng)用程序已經(jīng)非常豐富,應(yīng)用程序之間的調(diào)用關(guān)系也是數(shù)以百萬計(jì)的,因此通過將與終端本地安裝的應(yīng)用程序相關(guān)的調(diào)用規(guī)則發(fā)送給終端,而非直接將拒絕調(diào)用總列表和允許調(diào)用總列表發(fā)送給終端,有助于節(jié)省終端的存儲資源,且有助于提高調(diào)用規(guī)則的匹配效率。
另外,本公開實(shí)施例還提供了終端更新終端拒絕調(diào)用列表和終端允許調(diào)用列表的方法,相應(yīng)的處理可以包括:
1、當(dāng)滿足預(yù)設(shè)的列表更新條件時,向服務(wù)器發(fā)送列表更新請求;
列表更新請求中包括當(dāng)前終端本地安裝的所有應(yīng)用程序的標(biāo)識。服務(wù)器用于從拒絕調(diào)用總列表中獲取與終端本地安裝的應(yīng)用程序相關(guān)的調(diào)用規(guī)則,得到終端拒絕調(diào)用列表。服務(wù)器還用于從允許調(diào)用總列表中獲取與終端本地安裝的應(yīng)用程序相關(guān)的調(diào)用規(guī)則,得到終端允許調(diào)用列表。
2、接收服務(wù)器發(fā)送的終端拒絕調(diào)用列表和終端允許調(diào)用列表,并替換掉原始存儲的終端拒絕調(diào)用列表和終端允許調(diào)用列表。
預(yù)設(shè)的列表更新條件有兩種,分別是當(dāng)終端中安裝新的應(yīng)用程序、每隔預(yù)設(shè)周期。下面分別針對兩種預(yù)設(shè)的列表更新條件進(jìn)行詳細(xì)說明:
在實(shí)施中,用戶在終端中新安裝第三應(yīng)用程序時,終端檢測到本地安裝第三應(yīng)用程序,可以向服務(wù)器發(fā)送列表更新請求,該列表更新請求中攜帶有當(dāng)前終端安裝的所有應(yīng)用程序的標(biāo)識,服務(wù)器接收到終端發(fā)送的列表更新請求后,從列表更新請求中解析當(dāng)前終端安裝的所有應(yīng)用程序的標(biāo)識,然后從預(yù)先存儲的拒絕調(diào)用總列表中獲取與終端本地安裝的應(yīng)用程序相關(guān)的調(diào)用規(guī)則,得到終端拒絕調(diào)用列表,以及從預(yù)先存儲的允許調(diào)用總列表中獲取與終端本地安裝的應(yīng)用程序相關(guān)的調(diào)用規(guī)則,得到終端允許調(diào)用列表,并發(fā)送至終端。終端接收服務(wù)器發(fā)送的終端拒絕調(diào)用列表和終端允許調(diào)用列表后,存儲新接收到的列表并替換掉原始存儲的列表。
或者,技術(shù)人員可以設(shè)置一定時長(預(yù)設(shè)周期),并且存儲至終端中,每隔預(yù)設(shè)周期(如一周、兩周等),終端可以向服務(wù)器發(fā)送列表更新請求,該列表更新請求中攜帶有當(dāng)前終端安裝的所有應(yīng)用程序的標(biāo)識,服務(wù)器接收到終端發(fā)送的列表更新請求后,所執(zhí)行的操作參見上文介紹。
通過終端定期從服務(wù)器更新終端拒絕調(diào)用列表和終端允許調(diào)用列表,有助于減少用戶干預(yù)選擇否允許調(diào)用的次數(shù),從而簡化用戶操作,提高用戶體驗(yàn)。
本公開實(shí)施例還提供了用戶修改第一應(yīng)用程序?qū)ζ渌硞€應(yīng)用程序的調(diào)用授權(quán)的方法,相應(yīng)的處理可以包括:
1、顯示與第一應(yīng)用程序相關(guān)的至少一條拒絕調(diào)用規(guī)則;
在一個示例中,每一條與第一應(yīng)用程序相關(guān)的拒絕調(diào)用規(guī)則中包括一個不允許第一應(yīng)用程序調(diào)用的應(yīng)用程序。
2、在獲取到對應(yīng)于目標(biāo)拒絕調(diào)用規(guī)則的調(diào)用授權(quán)指令時,在終端拒絕調(diào)用列表中刪除目標(biāo)拒絕調(diào)用規(guī)則,并將目標(biāo)拒絕調(diào)用規(guī)則作為允許調(diào)用規(guī)則添加至終端允許調(diào)用列表中。
目標(biāo)拒絕調(diào)用規(guī)則是上述與第一應(yīng)用程序相關(guān)的至少一條拒絕調(diào)用規(guī)則中的一條。在實(shí)施中,技術(shù)人員可以在終端的設(shè)置中,為用戶顯示終端中安裝的所有應(yīng)用程序的調(diào)用應(yīng)用設(shè)置,如圖3所示,第一應(yīng)用程序的調(diào)用應(yīng)用設(shè)置,如果用戶想要修改第一應(yīng)用程序?qū)ζ渌鼞?yīng)用程序的調(diào)用授權(quán),用戶可以點(diǎn)擊開啟選項(xiàng)(也就是on選項(xiàng))/關(guān)閉選項(xiàng)(也就是off選項(xiàng)),其中開啟選項(xiàng)用于觸發(fā)開啟第一應(yīng)用程序?qū)ζ渌硞€應(yīng)用程序的調(diào)用授權(quán),關(guān)閉選項(xiàng)用于觸發(fā)關(guān)閉第一應(yīng)用程序?qū)ζ渌硞€應(yīng)用程序的調(diào)用授權(quán)。
當(dāng)用戶想要在第一應(yīng)用程序啟動后,使第一應(yīng)用程序調(diào)用第二應(yīng)用程序后臺啟動,可以將第一應(yīng)用程序的調(diào)用應(yīng)用設(shè)置中的第二應(yīng)用程序由關(guān)閉選項(xiàng)切換為開啟選項(xiàng),這樣,終端檢測到用戶輸入的第一應(yīng)用程序?qū)Φ诙?yīng)用程序的調(diào)用授權(quán)指令時,可以修改終端拒絕調(diào)用列表和終端允許調(diào)用列表,使得第一應(yīng)用程序可以調(diào)用第二應(yīng)用程序后臺啟動。
類似的,本公開實(shí)施例還提供了用戶修改第一應(yīng)用程序?qū)ζ渌硞€應(yīng)用程序的調(diào)用禁止的方法,相應(yīng)的處理可以包括:
1、顯示與第一應(yīng)用程序相關(guān)的至少一條允許調(diào)用規(guī)則;
在一個示例中,每一條與第一應(yīng)用程序相關(guān)的允許調(diào)用規(guī)則中包括一個允許第一應(yīng)用程序調(diào)用的應(yīng)用程序。
2、在獲取到對應(yīng)于目標(biāo)允許調(diào)用規(guī)則的調(diào)用禁止指令時,在終端允許調(diào)用列表中刪除目標(biāo)允許調(diào)用規(guī)則,并將目標(biāo)允許調(diào)用規(guī)則作為拒絕調(diào)用規(guī)則添加至終端拒絕調(diào)用列表中。
圖4是本公開另一示例性實(shí)施例示出的一種應(yīng)用程序調(diào)用管理的方法的流程圖,該方法的處理流程可以包括如下的步驟:
步驟401中,接收第一應(yīng)用程序發(fā)送的后臺調(diào)用消息,確定后臺調(diào)用消息對應(yīng)的目標(biāo)應(yīng)用程序。
在實(shí)施中,終端中安裝有第一應(yīng)用程序,第一應(yīng)用程序啟動時(后臺啟動或前臺啟動),可以是用戶打開第一應(yīng)用程序前臺啟動,或者第一應(yīng)用程序被其它應(yīng)用程序調(diào)用后臺啟動,第一應(yīng)用程序可以向系統(tǒng)程序發(fā)送后臺調(diào)用消息,后臺調(diào)用消息可以是通過Start activity(界面活動)、Send broadcast(發(fā)送廣播)、Start service(bind Service)(啟動服務(wù))、Get content provider(共享數(shù)據(jù)庫)四種調(diào)用方式中的任意一種發(fā)送,系統(tǒng)程序接收第一應(yīng)用程序發(fā)送的后臺調(diào)用信息后,可以根據(jù)后臺調(diào)用信息中攜帶的應(yīng)用程序標(biāo)識或者操作信息確定后臺調(diào)用消息對應(yīng)的目標(biāo)應(yīng)用程序,也就是確定第一應(yīng)用程序要調(diào)用的所有應(yīng)用程序。
可選的,后臺調(diào)用消息中攜帶有應(yīng)用程序的標(biāo)識時,確定目標(biāo)應(yīng)用程序的處理可以是:確定后臺調(diào)用消息中攜帶的應(yīng)用程序的標(biāo)識對應(yīng)的目標(biāo)應(yīng)用程序。
在實(shí)施中,第一應(yīng)用程序向系統(tǒng)程序發(fā)送后臺調(diào)用消息時,可以在后臺調(diào)用信息中攜帶所要調(diào)用的應(yīng)用程序的標(biāo)識,當(dāng)系統(tǒng)程序接收到第一應(yīng)用程序發(fā)送的后臺調(diào)用消息時,可以從后臺調(diào)用消息中,解析得到其中攜帶的應(yīng)用程序的標(biāo)識,目標(biāo)應(yīng)用程序是攜帶的應(yīng)用程序的標(biāo)識對應(yīng)的應(yīng)用程序。
可選的,后臺調(diào)用消息中攜帶有目標(biāo)操作信息時,確定目標(biāo)應(yīng)用程序的處理可以為:在本地安裝的應(yīng)用程序中,確定支持目標(biāo)操作信息對應(yīng)的操作的目標(biāo)應(yīng)用程序。
其中,目標(biāo)操作信息(Action,動作)可以是指定目標(biāo)應(yīng)用程序進(jìn)行某個處理的信息等,可以是調(diào)用應(yīng)用程序與被調(diào)用應(yīng)用程序之間預(yù)設(shè)的任何字符串。
在實(shí)施中,第一應(yīng)用程序向系統(tǒng)程序發(fā)送后臺調(diào)用信息時,可以在后臺調(diào)用消息中攜帶目標(biāo)操作信息,系統(tǒng)程序接收到后臺調(diào)用信息時,可以在本地安裝的應(yīng)用程序中,確定能夠支持目標(biāo)操作信息對應(yīng)的操作的目標(biāo)應(yīng)用程序,也就是可以接收目標(biāo)操作信息的目標(biāo)應(yīng)用程序。
步驟402中,獲取預(yù)先存儲的第一應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表,終端拒絕調(diào)用列表中記錄有至少一個應(yīng)用程序。
在實(shí)施中,技術(shù)人員可以收集安卓系統(tǒng)支持的所有應(yīng)用程序,可以是每個開啟了同步功能的終端,向網(wǎng)絡(luò)服務(wù)器(技術(shù)人員設(shè)置的用于存儲應(yīng)用程序的拒絕調(diào)用總列表的服務(wù)器,簡稱為服務(wù)器)發(fā)送安裝的應(yīng)用程序間的調(diào)用關(guān)系,技術(shù)人員根據(jù)每個終端發(fā)送的調(diào)用關(guān)系,確定每個應(yīng)用程序?qū)?yīng)的拒絕調(diào)用總列表,并且存儲至服務(wù)器,每個應(yīng)用程序?qū)?yīng)的拒絕調(diào)用總列表中可以包含:調(diào)用應(yīng)用程序和被調(diào)用應(yīng)用程序。終端可以將自己安裝的所有應(yīng)用程序的程序標(biāo)識發(fā)送至服務(wù)器,服務(wù)器接收到終端發(fā)送的程序標(biāo)識后,可以從拒絕調(diào)用總表中,匹配該終端的所有應(yīng)用程序的終端拒絕調(diào)用列表,然后將匹配好的終端拒絕調(diào)用列表發(fā)送至終端,終端接收到安裝的所有應(yīng)用程序中每個應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表后,可以進(jìn)行存儲。
如表-2所示,第一應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表中包含第一應(yīng)用程序不能調(diào)用后臺啟動的所有應(yīng)用程序,如第一應(yīng)用程序?yàn)樾∶咨坛菓?yīng)用程序,小米商城應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表中包含A應(yīng)用程序、B應(yīng)用程序、C應(yīng)用程序等。
系統(tǒng)程序確定后臺調(diào)用信息對應(yīng)的目標(biāo)應(yīng)用程序后,可以根據(jù)第一應(yīng)用程序的標(biāo)識,從終端中獲取預(yù)先存儲的第一應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表。
表-2(第一應(yīng)用程序的終端拒絕調(diào)用列表)
可選的,終端拒絕調(diào)用列表中還可以包含調(diào)用方式,相應(yīng)的處理可以為:
確定后臺調(diào)用消息對應(yīng)的目標(biāo)調(diào)用方式;獲取預(yù)先存儲的與第一應(yīng)用程序和目標(biāo)調(diào)用方式相對應(yīng)的終端拒絕調(diào)用列表,終端拒絕調(diào)用列表中記錄有至少一個應(yīng)用程序。
其中,調(diào)用方式有Start activity、Send broadcast、Start service(bind Service)、Get content provider。
在實(shí)施中,由于每種調(diào)用方式使用的操作信息不相同,技術(shù)人員在服務(wù)器的拒絕調(diào)用總表中設(shè)置被調(diào)用應(yīng)用程序?qū)?yīng)的操作信息時,可以設(shè)置每種調(diào)用方式對應(yīng)的終端拒絕調(diào)用列表,并且存儲至服務(wù)器。每個終端可以從服務(wù)器獲取自己安裝的所有應(yīng)用程序的每種調(diào)用方式對應(yīng)的終端拒絕調(diào)用列表,并且進(jìn)行存儲,這樣,可以根據(jù)不同的調(diào)用方式,查找該調(diào)用方式對應(yīng)的終端拒絕調(diào)用列表,進(jìn)而確定拒絕后臺啟動的應(yīng)用程序,而不需要從四種調(diào)用方式混合的終端拒絕調(diào)用列表中查找,從而可以提高確定拒絕后臺啟動的應(yīng)用程序的效率。
終端的系統(tǒng)程序接收到后臺調(diào)用消息后,還可以確定后臺調(diào)用消息對應(yīng)的目標(biāo)調(diào)用方式,然后獲取預(yù)先存儲的與第一應(yīng)用程序和目標(biāo)調(diào)用方式相對應(yīng)的終端拒絕調(diào)用列表。
步驟403中,對目標(biāo)應(yīng)用程序中未包含于終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,并拒絕對目標(biāo)應(yīng)用程序中包含于終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動。
在實(shí)施中,終端的系統(tǒng)程序可以根據(jù)第一應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表,確定后臺調(diào)用消息對應(yīng)的目標(biāo)應(yīng)用程序中,包含于終端拒絕調(diào)用列表中的應(yīng)用程序,和未包含于終端拒絕調(diào)用列表中的應(yīng)用程序,然后對未包含于終端拒絕調(diào)用列表中的應(yīng)用程序進(jìn)行后臺啟動,對包含于終端拒絕調(diào)用列表中的應(yīng)用程序拒絕進(jìn)行后臺啟動。例如,在目標(biāo)應(yīng)用程序中,系統(tǒng)程序確定包含于終端拒絕調(diào)用列表中的應(yīng)用程序?yàn)锳應(yīng)用程序,和未包含于終端拒絕調(diào)用列表中的應(yīng)用程序?yàn)锽應(yīng)用程序、C應(yīng)用程序,則系統(tǒng)應(yīng)用程序可以控制B應(yīng)用程序、C應(yīng)用程序后臺啟動,拒絕A應(yīng)用程序后臺啟動。
可選的,針對后臺調(diào)用消息中攜帶有操作信息(action)(可稱作目標(biāo)操作信息),終端拒絕調(diào)用列表中記錄有至少一個應(yīng)用程序中每個應(yīng)用程序?qū)?yīng)的操作信息;步驟403的處理可以為:拒絕對目標(biāo)應(yīng)用程序中包含于終端拒絕調(diào)用列表且對應(yīng)的操作信息與目標(biāo)操作信息相同的應(yīng)用程序進(jìn)行后臺啟動;
對于包含于終端拒絕調(diào)用列表且對應(yīng)的操作信息與目標(biāo)操作信息不同的應(yīng)用程序的處理可以為:對目標(biāo)應(yīng)用程序中包含于終端拒絕調(diào)用列表且對應(yīng)的操作信息與目標(biāo)操作信息不同的應(yīng)用程序進(jìn)行后臺啟動。
其中,目標(biāo)操作信息可以是指定目標(biāo)應(yīng)用程序進(jìn)行某個處理的信息等,可以是調(diào)用應(yīng)用程序與被調(diào)用應(yīng)用程序之間預(yù)設(shè)的任何字符串。
在實(shí)施中,技術(shù)人員可以在每個應(yīng)用對應(yīng)的拒絕調(diào)用總列表中添加被調(diào)用應(yīng)用程序?qū)?yīng)的操作信息,同樣每個終端獲取到的安裝的所有應(yīng)用程序的終端拒絕調(diào)用列表也包含操作信息,終端獲取安裝的所有應(yīng)用程序的終端拒絕列表與步驟402中的處理相同,此處不再詳細(xì)敘說。
終端的系統(tǒng)程序接收到第一應(yīng)用程序發(fā)送的后臺調(diào)用消息,可以從中獲取攜帶的目標(biāo)操作信息,并且確定目標(biāo)應(yīng)用程序中包含于終端拒絕調(diào)用列表中的應(yīng)用程序,然后將確定的這些應(yīng)用程序與終端拒絕調(diào)用列表匹配,查看操作信息是否與目標(biāo)操作信息相同,如果不相同,對操作信息與目標(biāo)操作信息不同的應(yīng)用程序進(jìn)行后臺啟動,如果相同,則拒絕對操作信息與目標(biāo)操作信息相同的應(yīng)用程序進(jìn)行后臺啟動。
可選的,針對終端拒絕調(diào)用列表中包含調(diào)用類名(class name)的方式,步驟403的處理可以為:確定后臺調(diào)用消息對應(yīng)的目標(biāo)調(diào)用類名;
拒絕對目標(biāo)應(yīng)用程序中包含于終端拒絕調(diào)用列表且對應(yīng)的調(diào)用類名與目標(biāo)調(diào)用類名相同的應(yīng)用程序進(jìn)行后臺啟動;對目標(biāo)應(yīng)用程序中包含于終端拒絕調(diào)用列表且對應(yīng)的調(diào)用類名與目標(biāo)調(diào)用類名不同的應(yīng)用程序進(jìn)行后臺啟動。
其中,目標(biāo)調(diào)用類名是應(yīng)用程序中執(zhí)行目標(biāo)操作信息的功能代碼的名稱,一個調(diào)用類名可以對應(yīng)多個操作信息,技術(shù)人員可以為每個應(yīng)用程序設(shè)置一個或多個功能代碼,并且對應(yīng)的定義每個功能代碼的名稱(調(diào)用類名)。
在實(shí)施中,技術(shù)人員可以在每個應(yīng)用對應(yīng)的拒絕調(diào)用總列表中添加被調(diào)用應(yīng)用程序?qū)?yīng)的調(diào)用類名,同樣每個終端獲取到的安裝的所有應(yīng)用程序的終端拒絕調(diào)用列表也包含調(diào)用類名,終端獲取安裝的所有應(yīng)用程序的終端拒絕列表與步驟402中的處理相同,此處不再詳細(xì)敘說。技術(shù)人員可以預(yù)先設(shè)置調(diào)用類名與操作信息的對應(yīng)關(guān)系,并且存儲至終端中。
終端的系統(tǒng)程序接收到第一應(yīng)用程序發(fā)送的后臺調(diào)用消息后,如果后臺調(diào)用信息中攜帶有操作信息,則可以根據(jù)預(yù)先存儲的操作信息與調(diào)用類名的對應(yīng)關(guān)系確定該后臺調(diào)用消息對應(yīng)的調(diào)用類名,并且確定目標(biāo)應(yīng)用程序中包含于終端拒絕調(diào)用列表中的應(yīng)用程序,然后將確定的這些應(yīng)用程序與終端拒絕調(diào)用列表匹配,查看調(diào)用類名是否與目標(biāo)調(diào)用類名相同,如果不相同,則對調(diào)用類名與目標(biāo)調(diào)用類名不同的應(yīng)用程序進(jìn)行后臺啟動,如果相同,則拒絕對調(diào)用類名與目標(biāo)調(diào)用類名相同的應(yīng)用程序進(jìn)行后臺啟動。
如果后臺調(diào)用信息中沒有攜帶操作信息,則可以獲取默認(rèn)的操作信息,然后根據(jù)預(yù)先存儲的操作信息與調(diào)用類名的對應(yīng)關(guān)系,確定該后臺調(diào)用消息對應(yīng)的調(diào)用類名,并且確定目標(biāo)應(yīng)用程序中包含于終端拒絕調(diào)用列表中的應(yīng)用程序,然后將確定的這些應(yīng)用程序與終端拒絕調(diào)用列表匹配,查看調(diào)用類名是否與目標(biāo)調(diào)用類名相同,如果不相同,則對調(diào)用類名與目標(biāo)調(diào)用類名不同的應(yīng)用程序進(jìn)行后臺啟動,如果相同,則拒絕對調(diào)用類名與目標(biāo)調(diào)用類名相同的應(yīng)用程序進(jìn)行后臺啟動。
另外,針對上述終端調(diào)用列表中包含操作信息與調(diào)用類名的兩種情況,當(dāng)多個應(yīng)用程序同時向終端的系統(tǒng)程序發(fā)送后臺調(diào)用消息時,系統(tǒng)程序接收到的操作信息比較多,如果終端調(diào)用列表中包含調(diào)用類名,可以根據(jù)調(diào)用類名,在終端調(diào)用類名中查看調(diào)用類名是否與目標(biāo)調(diào)用類名相同,如果不相同,則對調(diào)用類名與目標(biāo)調(diào)用類名不同的應(yīng)用程序進(jìn)行后臺啟動,如果相同,則拒絕對調(diào)用類名與目標(biāo)調(diào)用類名相同的應(yīng)用程序進(jìn)行后臺啟動。這樣,不需要對每個操作信息都與終端拒絕調(diào)用列表進(jìn)行匹配,從而可以提高系統(tǒng)程序確定進(jìn)行后臺啟動與拒絕進(jìn)行后臺啟動的應(yīng)用程序的效率。
可選的,根據(jù)后臺調(diào)用消息對應(yīng)的目標(biāo)調(diào)用方式,對目標(biāo)應(yīng)用程序中未包含于終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,并拒絕對目標(biāo)應(yīng)用程序中包含于終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,其中,目標(biāo)調(diào)用方式包括Start Activity、Send Broadcast、Start Service(bind Service)、Get Content Provider中任意一種。
在實(shí)施中,目標(biāo)調(diào)用方式可以包括:Start Activity、Send Broadcast、Start Service(bind Service)、Get Content Provider中任意一種,系統(tǒng)程序接收到第一應(yīng)用程序發(fā)送的后臺調(diào)用信息后,可以確定調(diào)用方式,并且確定目標(biāo)應(yīng)用程序(與步驟401中的處理相同),然后查找第一應(yīng)用程序?qū)?yīng)的終端調(diào)用列表,對于不同的調(diào)用方式,對目標(biāo)應(yīng)用程序中未包含于終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,然后將目標(biāo)操作信息發(fā)送至未包含于終端拒絕調(diào)用列表的應(yīng)用程序,并拒絕對目標(biāo)應(yīng)用程序中包含于終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動。
綜上所述,本實(shí)施例提供的方法,通過接收第一應(yīng)用程序發(fā)送的后臺調(diào)用消息,確定后臺調(diào)用消息對應(yīng)的目標(biāo)應(yīng)用程序;獲取預(yù)先存儲的第一應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表,終端拒絕調(diào)用列表中記錄有至少一個應(yīng)用程序;對目標(biāo)應(yīng)用程序中未包含于終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,并拒絕對目標(biāo)應(yīng)用程序中包含于終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動。這樣,第一應(yīng)用程序調(diào)用其它應(yīng)用程序進(jìn)行后臺啟動時,系統(tǒng)程序可以根據(jù)終端拒絕調(diào)用列表,拒絕某個或某些應(yīng)用程序進(jìn)行后臺啟動,這樣,可以降低終端的耗電量。
需要說明的一點(diǎn)是,在上述圖4所示實(shí)施例中,僅以拒絕調(diào)用總列表和終端拒絕調(diào)用列表中包括的調(diào)用規(guī)則中包括調(diào)用者和被調(diào)用者,且針對不同的調(diào)用者分別構(gòu)建相應(yīng)的拒絕調(diào)用總列表和終端拒絕調(diào)用列表為例進(jìn)行舉例說明,這樣終端根據(jù)后臺調(diào)用消息確定本次調(diào)用的調(diào)用者和被調(diào)用者之后,便可快速地匹配本次調(diào)用的調(diào)用者對應(yīng)的終端拒絕調(diào)用列表,以確定出拒絕調(diào)用的應(yīng)用程序。
下述為本公開裝置實(shí)施例,可以用于執(zhí)行本公開方法實(shí)施例。對于本公開裝置實(shí)施例中未披露的細(xì)節(jié),請參照本公開方法實(shí)施例。
圖5是根據(jù)一示例性實(shí)施例示出的一種應(yīng)用程序調(diào)用管理的裝置的框圖。該裝置具有實(shí)現(xiàn)上述方法的功能,所述功能可以通過硬件實(shí)現(xiàn),也可以通過硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。該裝置可以包括:獲取模塊510、第一確定模塊520、第二確定模塊530和拒絕模塊540。
獲取模塊510,用于獲取第一應(yīng)用程序發(fā)送的后臺調(diào)用消息,所述后臺調(diào)用消息用于請求調(diào)用目標(biāo)應(yīng)用程序。
第一確定模塊520,用于根據(jù)所述后臺調(diào)用消息確定本次調(diào)用對應(yīng)的調(diào)用規(guī)則。
第二確定模塊530,用于若終端拒絕調(diào)用列表中存在與所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第一調(diào)用規(guī)則,則根據(jù)所述第一調(diào)用規(guī)則確定所述目標(biāo)應(yīng)用程序中拒絕調(diào)用的應(yīng)用程序;其中,所述終端拒絕調(diào)用列表中包括至少一條用于控制拒絕調(diào)用的調(diào)用規(guī)則,所述拒絕調(diào)用的應(yīng)用程序是所述目標(biāo)應(yīng)用程序中的全部或部分應(yīng)用程序。
拒絕模塊540,用于拒絕對所述拒絕調(diào)用的應(yīng)用程序進(jìn)行后臺啟動。
可選的,如圖6所示,所述裝置還包括:第三確定模塊550和啟動模塊560。
第三確定模塊550,用于若終端允許調(diào)用列表中存在與所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第二調(diào)用規(guī)則,則根據(jù)所述第二調(diào)用規(guī)則確定所述目標(biāo)應(yīng)用程序中允許調(diào)用的應(yīng)用程序;其中,所述終端允許調(diào)用列表中包括至少一條用于控制允許調(diào)用的調(diào)用規(guī)則,所述允許調(diào)用的應(yīng)用程序是所述目標(biāo)應(yīng)用程序中的全部或部分應(yīng)用程序。
啟動模塊560,用于對所述允許調(diào)用的應(yīng)用程序進(jìn)行后臺啟動。
可選的,如圖6所示,所述裝置還包括:顯示模塊570。
顯示模塊570,用于若所述目標(biāo)應(yīng)用程序中還包括除所述拒絕調(diào)用的應(yīng)用程序和所述允許調(diào)用的應(yīng)用程序之外的待定應(yīng)用程序,則顯示詢問信息,所述詢問信息用于詢問用戶是否允許調(diào)用所述待定應(yīng)用程序。
所述拒絕模塊540,還用于在獲取到對應(yīng)于所述詢問信息的拒絕指示之后,拒絕對所述待定應(yīng)用程序進(jìn)行后臺啟動。
所述啟動模塊560,還用于在獲取到對應(yīng)于所述詢問信息的允許指示之后,對所述待定應(yīng)用程序進(jìn)行后臺啟動。
可選的,每一條調(diào)用規(guī)則包括:調(diào)用者、被調(diào)用者、被調(diào)用的操作、被調(diào)用的類名和調(diào)用方式中的至少一項(xiàng)。
可選的,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用的調(diào)用者。
如圖6所示,所述第一確定模塊520,包括:第一確定子模塊520a。
所述第一確定子模塊520a,用于將發(fā)送所述后臺調(diào)用消息的所述第一應(yīng)用程序確定為所述本次調(diào)用的調(diào)用者。
可選的,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用的被調(diào)用者。
如圖6所示,所述第一確定模塊520,包括:第二確定子模塊520b。
所述第二確定子模塊520b,用于獲取所述后臺調(diào)用消息中攜帶的應(yīng)用程序的標(biāo)識;將所述應(yīng)用程序的標(biāo)識所指示的目標(biāo)應(yīng)用程序確定為所述本次調(diào)用的被調(diào)用者。
或者,所述第二確定子模塊520b,用于獲取所述后臺調(diào)用消息中攜帶的目標(biāo)操作信息;在本地安裝的應(yīng)用程序中,確定支持所述目標(biāo)操作信息對應(yīng)的操作的目標(biāo)應(yīng)用程序?yàn)樗霰敬握{(diào)用的被調(diào)用者。
可選的,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用中被調(diào)用的操作。
如圖6所示,所述第一確定模塊520,包括:第三確定子模塊520c。
所述第三確定子模塊520c,用于獲取所述后臺調(diào)用消息中攜帶的目標(biāo)操作信息;將所述目標(biāo)操作信息對應(yīng)的操作確定為所述本次調(diào)用中被調(diào)用的操作。
可選的,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用中被調(diào)用的類名。
如圖6所示,所述第一確定模塊520,包括:第四確定子模塊520d。
所述第四確定子模塊520d,用于獲取所述后臺調(diào)用消息中攜帶的目標(biāo)類名;將所述目標(biāo)類名確定為所述本次調(diào)用中被調(diào)用的類名。
可選的,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用的調(diào)用方式。
如圖6所示,所述第一確定模塊520,包括:第五確定子模塊520e。
所述第五確定子模塊520e,用于將所述第一應(yīng)用程序發(fā)送所述后臺調(diào)用消息所采用的目標(biāo)調(diào)用方式,確定為所述本次調(diào)用的調(diào)用方式。
可選地,所述裝置還包括:發(fā)送模塊和接收模塊。
發(fā)送模塊,用于向服務(wù)器發(fā)送列表獲取請求,所述列表獲取請求中包括本地安裝的應(yīng)用程序的標(biāo)識;其中,所述服務(wù)器用于從拒絕調(diào)用總列表中獲取與所述本地安裝的應(yīng)用程序相關(guān)的調(diào)用規(guī)則,得到所述終端拒絕調(diào)用列表;所述服務(wù)器還用于從允許調(diào)用總列表中獲取與所述本地安裝的應(yīng)用程序相關(guān)的調(diào)用規(guī)則,得到所述終端允許調(diào)用列表。
接收模塊,用于接收所述服務(wù)器發(fā)送的所述終端拒絕調(diào)用列表和所述終端允許調(diào)用列表。
可選地,所述裝置還包括:授權(quán)模塊和/或禁止模塊。
授權(quán)模塊,用于顯示與所述第一應(yīng)用程序相關(guān)的至少一條拒絕調(diào)用規(guī)則;在獲取到對應(yīng)于目標(biāo)拒絕調(diào)用規(guī)則的調(diào)用授權(quán)指令時,在所述終端拒絕調(diào)用列表中刪除所述目標(biāo)拒絕調(diào)用規(guī)則,并將所述目標(biāo)拒絕調(diào)用規(guī)則作為允許調(diào)用規(guī)則添加至所述終端允許調(diào)用列表中。
禁止模塊,用于顯示與所述第一應(yīng)用程序相關(guān)的至少一條允許調(diào)用規(guī)則;在獲取到對應(yīng)于目標(biāo)允許調(diào)用規(guī)則的調(diào)用禁止指令時,在所述終端允許調(diào)用列表中刪除所述目標(biāo)允許調(diào)用規(guī)則,并將所述目標(biāo)允許調(diào)用規(guī)則作為拒絕調(diào)用規(guī)則添加至所述終端拒絕調(diào)用列表中。
綜上所述,本實(shí)施例提供的裝置,通過根據(jù)后臺調(diào)用消息確定本次調(diào)用對應(yīng)的調(diào)用規(guī)則,若終端拒絕調(diào)用列表中存在與本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第一調(diào)用規(guī)則,則根據(jù)第一調(diào)用規(guī)則確定目標(biāo)應(yīng)用程序中拒絕調(diào)用的應(yīng)用程序,并拒絕對拒絕調(diào)用的應(yīng)用程序進(jìn)行后臺啟動。這樣,第一應(yīng)用程序調(diào)用其它應(yīng)用程序進(jìn)行后臺啟動時,系統(tǒng)程序可以根據(jù)終端拒絕調(diào)用列表,拒絕某個或某些應(yīng)用程序進(jìn)行后臺啟動,這樣,可以降低終端的耗電量。
另外,還通過設(shè)置終端允許調(diào)用列表,若終端允許調(diào)用列表中存在與本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第二調(diào)用規(guī)則,則根據(jù)第二調(diào)用規(guī)則確定目標(biāo)應(yīng)用程序中允許調(diào)用的應(yīng)用程序,并對允許調(diào)用的應(yīng)用程序進(jìn)行后臺啟動。這樣,確保了一些允許調(diào)用的應(yīng)用程序能夠被正常調(diào)用。
另外,還通過在目標(biāo)應(yīng)用程序中還包括除拒絕調(diào)用的應(yīng)用程序和允許調(diào)用的應(yīng)用程序之外的待定應(yīng)用程序時,顯示詢問信息,以詢問用戶是否允許調(diào)用待定應(yīng)用程序,由用戶自主決定是否允許調(diào)用待定應(yīng)用程序,使得應(yīng)用程序之間的調(diào)用經(jīng)過系統(tǒng)或者用戶允許之后才能執(zhí)行,提高安全性。
圖7是根據(jù)另一示例性實(shí)施例示出的一種應(yīng)用程序調(diào)用管理的裝置的框圖。該裝置具有實(shí)現(xiàn)上述方法的功能,所述功能可以通過硬件實(shí)現(xiàn),也可以通過硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。該裝置可以包括:確定模塊710、獲取模塊720和啟動模塊730。
確定模塊710,用于接收第一應(yīng)用程序發(fā)送的后臺調(diào)用消息,確定所述后臺調(diào)用消息對應(yīng)的目標(biāo)應(yīng)用程序。
獲取模塊720,用于獲取預(yù)先存儲的所述第一應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表,所述終端拒絕調(diào)用列表中記錄有至少一個應(yīng)用程序。
啟動模塊730,用于對所述目標(biāo)應(yīng)用程序中未包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,并拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動。
可選的,所述后臺調(diào)用消息中攜帶有應(yīng)用程序的標(biāo)識;
所述確定模塊710,用于:
確定所述后臺調(diào)用消息中攜帶的應(yīng)用程序的標(biāo)識對應(yīng)的目標(biāo)應(yīng)用程序。
可選的,所述后臺調(diào)用消息中攜帶有目標(biāo)操作信息;
所述確定模塊710,用于:
在本地安裝的應(yīng)用程序中,確定支持所述目標(biāo)操作信息對應(yīng)的操作的目標(biāo)應(yīng)用程序。
可選的,如圖8所示,所述裝置還包括:
刪除模塊740,用于當(dāng)接收到用戶輸入的第一應(yīng)用程序?qū)Φ诙?yīng)用程序的調(diào)用授權(quán)指令時,在所述終端拒絕調(diào)用列表中刪除所述第二應(yīng)用程序。
可選的,如圖9所示,所述裝置還包括:
發(fā)送模塊750,用于當(dāng)滿足預(yù)設(shè)的列表更新條件時,向服務(wù)器發(fā)送列表更新請求,所述列表更新請求中攜帶有當(dāng)前終端安裝的所有應(yīng)用程序的標(biāo)識,以使所述服務(wù)器獲取存儲的所述所有應(yīng)用程序中每個應(yīng)用程序?qū)?yīng)的拒絕調(diào)用總列表,根據(jù)每個所述拒絕調(diào)用總列表中包含的所述終端已安裝的應(yīng)用程序,分別構(gòu)建所述每個應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表;
接收模塊760,用于接收所述服務(wù)器發(fā)送的所述每個應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表,并進(jìn)行存儲。
可選的,所述后臺調(diào)用消息中攜帶有目標(biāo)操作信息,所述終端拒絕調(diào)用列表中記錄有所述至少一個應(yīng)用程序中每個應(yīng)用程序?qū)?yīng)的操作信息;
所述啟動模塊730,用于:
拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表且對應(yīng)的操作信息與所述目標(biāo)操作信息相同的應(yīng)用程序進(jìn)行后臺啟動;
所述方法還包括:對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表且對應(yīng)的操作信息與所述目標(biāo)操作信息不同的應(yīng)用程序進(jìn)行后臺啟動。
可選的,所述確定模塊710,還用于:
確定所述后臺調(diào)用消息對應(yīng)的目標(biāo)調(diào)用類名;
所述啟動模塊730,用于:拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表且對應(yīng)的調(diào)用類名與所述目標(biāo)調(diào)用類名相同的應(yīng)用程序進(jìn)行后臺啟動;
所述啟動模塊730,還用于:對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表且對應(yīng)的調(diào)用類名與所述目標(biāo)調(diào)用類名不同的應(yīng)用程序進(jìn)行后臺啟動。
可選的,如圖10所示,所述獲取模塊720包括確定子模塊721和獲取子模塊722,其中:
所述確定子模塊721,用于所述后臺調(diào)用消息對應(yīng)的目標(biāo)調(diào)用方式;
所述獲取子模塊722,用于獲取預(yù)先存儲的與所述第一應(yīng)用程序和所述目標(biāo)調(diào)用方式相對應(yīng)的終端拒絕調(diào)用列表,所述終端拒絕調(diào)用列表中記錄有至少一個應(yīng)用程序。
可選的,所述后臺調(diào)用消息中攜帶有調(diào)用方式信息,其中,所述調(diào)用方式信息包括Start Activity、Send Broadcast、Start Service(bind Service)、Get Content Provider中任意一種;
所述啟動模塊730,用于:
根據(jù)所述后臺調(diào)用消息對應(yīng)的目標(biāo)調(diào)用方式,對所述目標(biāo)應(yīng)用程序中未包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,并拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,其中,所述目標(biāo)調(diào)用方式包括Start Activity、Send Broadcast、Start Service(bind Service)、Get Content Provider中任意一種。
綜上所述,本實(shí)施例提供的方法,通過接收第一應(yīng)用程序發(fā)送的后臺調(diào)用消息,確定所述后臺調(diào)用消息對應(yīng)的目標(biāo)應(yīng)用程序;獲取預(yù)先存儲的所述第一應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表,所述終端拒絕調(diào)用列表中記錄有至少一個應(yīng)用程序;對所述目標(biāo)應(yīng)用程序中未包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,并拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動。這樣,第一應(yīng)用程序調(diào)用其它應(yīng)用程序進(jìn)行后臺啟動時,系統(tǒng)程序可以根據(jù)終端拒絕調(diào)用列表,拒絕某個或某些應(yīng)用程序進(jìn)行后臺啟動,這樣,可以降低終端的耗電量。
需要說明的是:上述實(shí)施例提供的應(yīng)用程序調(diào)用管理的裝置在應(yīng)用程序調(diào)用管理時,僅以上述各功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的應(yīng)用程序調(diào)用管理的裝置與應(yīng)用程序調(diào)用管理的方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過程詳見方法實(shí)施例,這里不再贅述。
本公開一示例性實(shí)施例還提供了一種應(yīng)用程序調(diào)用管理的裝置,能夠?qū)崿F(xiàn)本公開提供的應(yīng)用程序調(diào)用管理的方法。該裝置包括:處理器,以及用于存儲處理器的可執(zhí)行指令的存儲器。其中,處理器被配置為:
獲取第一應(yīng)用程序發(fā)送的后臺調(diào)用消息,所述后臺調(diào)用消息用于請求調(diào)用目標(biāo)應(yīng)用程序;
根據(jù)所述后臺調(diào)用消息確定本次調(diào)用對應(yīng)的調(diào)用規(guī)則;
若終端拒絕調(diào)用列表中存在與所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第一調(diào)用規(guī)則,則根據(jù)所述第一調(diào)用規(guī)則確定所述目標(biāo)應(yīng)用程序中拒絕調(diào)用的應(yīng)用程序;其中,所述終端拒絕調(diào)用列表中包括至少一條用于控制拒絕調(diào)用的調(diào)用規(guī)則,所述拒絕調(diào)用的應(yīng)用程序是所述目標(biāo)應(yīng)用程序中的全部或部分應(yīng)用程序;
拒絕對所述拒絕調(diào)用的應(yīng)用程序進(jìn)行后臺啟動。
可選的,處理器還被配置:
若終端允許調(diào)用列表中存在與所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則相匹配的第二調(diào)用規(guī)則,則根據(jù)所述第二調(diào)用規(guī)則確定所述目標(biāo)應(yīng)用程序中允許調(diào)用的應(yīng)用程序;其中,所述終端允許調(diào)用列表中包括至少一條用于控制允許調(diào)用的調(diào)用規(guī)則,所述允許調(diào)用的應(yīng)用程序是所述目標(biāo)應(yīng)用程序中的全部或部分應(yīng)用程序;
對所述允許調(diào)用的應(yīng)用程序進(jìn)行后臺啟動。
可選的,處理器還被配置:
若所述目標(biāo)應(yīng)用程序中還包括除所述拒絕調(diào)用的應(yīng)用程序和所述允許調(diào)用的應(yīng)用程序之外的待定應(yīng)用程序,則顯示詢問信息,所述詢問信息用于詢問用戶是否允許調(diào)用所述待定應(yīng)用程序;
在獲取到對應(yīng)于所述詢問信息的拒絕指示之后,拒絕對所述待定應(yīng)用程序進(jìn)行后臺啟動;
在獲取到對應(yīng)于所述詢問信息的允許指示之后,對所述待定應(yīng)用程序進(jìn)行后臺啟動。
可選的,每一條調(diào)用規(guī)則包括:調(diào)用者、被調(diào)用者、被調(diào)用的操作、被調(diào)用的類名和調(diào)用方式中的至少一項(xiàng)。
在一個示例中,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用的調(diào)用者;
所述處理器被配置為:
將發(fā)送所述后臺調(diào)用消息的所述第一應(yīng)用程序確定為所述本次調(diào)用的調(diào)用者。
在另一個示例中,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用的被調(diào)用者;
所述處理器被配置為:
獲取所述后臺調(diào)用消息中攜帶的應(yīng)用程序的標(biāo)識;將所述應(yīng)用程序的標(biāo)識所指示的目標(biāo)應(yīng)用程序確定為所述本次調(diào)用的被調(diào)用者;
或者,
獲取所述后臺調(diào)用消息中攜帶的目標(biāo)操作信息;在本地安裝的應(yīng)用程序中,確定支持所述目標(biāo)操作信息對應(yīng)的操作的目標(biāo)應(yīng)用程序?yàn)樗霰敬握{(diào)用的被調(diào)用者。
在又一個示例中,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用中被調(diào)用的操作;
所述處理器被配置為:
獲取所述后臺調(diào)用消息中攜帶的目標(biāo)操作信息;
將所述目標(biāo)操作信息對應(yīng)的操作確定為所述本次調(diào)用中被調(diào)用的操作。
在又一個示例中,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用中被調(diào)用的類名;
所述處理器被配置為:
獲取所述后臺調(diào)用消息中攜帶的目標(biāo)類名;
將所述目標(biāo)類名確定為所述本次調(diào)用中被調(diào)用的類名。
在又一個示例中,所述本次調(diào)用對應(yīng)的調(diào)用規(guī)則中包括本次調(diào)用的調(diào)用方式;
所述處理器被配置為:
將所述第一應(yīng)用程序發(fā)送所述后臺調(diào)用消息所采用的目標(biāo)調(diào)用方式,確定為所述本次調(diào)用的調(diào)用方式。
可選的,處理器還被配置為:
向服務(wù)器發(fā)送列表獲取請求,所述列表獲取請求中包括本地安裝的應(yīng)用程序的標(biāo)識;其中,所述服務(wù)器用于從拒絕調(diào)用總列表中獲取與所述本地安裝的應(yīng)用程序相關(guān)的調(diào)用規(guī)則,得到所述終端拒絕調(diào)用列表;所述服務(wù)器還用于從允許調(diào)用總列表中獲取與所述本地安裝的應(yīng)用程序相關(guān)的調(diào)用規(guī)則,得到所述終端允許調(diào)用列表;
接收所述服務(wù)器發(fā)送的所述終端拒絕調(diào)用列表和所述終端允許調(diào)用列表。
可選的,處理器還被配置:
顯示與所述第一應(yīng)用程序相關(guān)的至少一條拒絕調(diào)用規(guī)則;在獲取到對應(yīng)于目標(biāo)拒絕調(diào)用規(guī)則的調(diào)用授權(quán)指令時,在所述終端拒絕調(diào)用列表中刪除所述目標(biāo)拒絕調(diào)用規(guī)則,并將所述目標(biāo)拒絕調(diào)用規(guī)則作為允許調(diào)用規(guī)則添加至所述終端允許調(diào)用列表中;
和/或,
顯示與所述第一應(yīng)用程序相關(guān)的至少一條允許調(diào)用規(guī)則;在獲取到對應(yīng)于目標(biāo)允許調(diào)用規(guī)則的調(diào)用禁止指令時,在所述終端允許調(diào)用列表中刪除所述目標(biāo)允許調(diào)用規(guī)則,并將所述目標(biāo)允許調(diào)用規(guī)則作為拒絕調(diào)用規(guī)則添加至所述終端拒絕調(diào)用列表中。
本公開另一示例性實(shí)施例還提供了一種應(yīng)用程序調(diào)用管理的裝置,能夠?qū)崿F(xiàn)本公開提供的應(yīng)用程序調(diào)用管理的方法。該裝置包括:處理器,以及用于存儲處理器的可執(zhí)行指令的存儲器。其中,處理器被配置為:
接收第一應(yīng)用程序發(fā)送的后臺調(diào)用消息,確定所述后臺調(diào)用消息對應(yīng)的目標(biāo)應(yīng)用程序;
獲取預(yù)先存儲的所述第一應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表,所述終端拒絕調(diào)用列表中記錄有至少一個應(yīng)用程序;
對所述目標(biāo)應(yīng)用程序中未包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,并拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動。
可選的,所述后臺調(diào)用消息中攜帶有應(yīng)用程序的標(biāo)識;
所述處理器被配置為:
確定所述后臺調(diào)用消息中攜帶的應(yīng)用程序的標(biāo)識對應(yīng)的目標(biāo)應(yīng)用程序。
可選的,所述后臺調(diào)用消息中攜帶有目標(biāo)操作信息;
所述處理器被配置為:
在本地安裝的應(yīng)用程序中,確定支持所述目標(biāo)操作信息對應(yīng)的操作的目標(biāo)應(yīng)用程序。
可選的,處理器還被配置:
當(dāng)接收到用戶輸入的第一應(yīng)用程序?qū)Φ诙?yīng)用程序的調(diào)用授權(quán)指令時,在所述終端拒絕調(diào)用列表中刪除所述第二應(yīng)用程序。
可選的,處理器還被配置:
當(dāng)滿足預(yù)設(shè)的列表更新條件時,向服務(wù)器發(fā)送列表更新請求,所述列表更新請求中攜帶有當(dāng)前終端安裝的所有應(yīng)用程序的標(biāo)識,以使所述服務(wù)器獲取存儲的所述所有應(yīng)用程序中每個應(yīng)用程序?qū)?yīng)的拒絕調(diào)用總列表,根據(jù)每個所述拒絕調(diào)用總列表中包含的所述終端已安裝的應(yīng)用程序,分別構(gòu)建所述每個應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表;
接收所述服務(wù)器發(fā)送的所述每個應(yīng)用程序?qū)?yīng)的終端拒絕調(diào)用列表,并進(jìn)行存儲。
可選的,所述后臺調(diào)用消息中攜帶有目標(biāo)操作信息,所述終端拒絕調(diào)用列表中記錄有所述至少一個應(yīng)用程序中每個應(yīng)用程序?qū)?yīng)的操作信息;
處理器還被配置為:
拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表且對應(yīng)的操作信息與所述目標(biāo)操作信息相同的應(yīng)用程序進(jìn)行后臺啟動;
對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表且對應(yīng)的操作信息與所述目標(biāo)操作信息不同的應(yīng)用程序進(jìn)行后臺啟動。
可選的,處理器還被配置:
確定所述后臺調(diào)用消息對應(yīng)的目標(biāo)調(diào)用類名;
拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表且對應(yīng)的調(diào)用類名與所述目標(biāo)調(diào)用類名相同的應(yīng)用程序進(jìn)行后臺啟動;
對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表且對應(yīng)的調(diào)用類名與所述目標(biāo)調(diào)用類名不同的應(yīng)用程序進(jìn)行后臺啟動。
可選的,處理器被配置:
確定所述后臺調(diào)用消息對應(yīng)的目標(biāo)調(diào)用方式;
獲取預(yù)先存儲的與所述第一應(yīng)用程序和所述目標(biāo)調(diào)用方式相對應(yīng)的終端拒絕調(diào)用列表,所述終端拒絕調(diào)用列表中記錄有至少一個應(yīng)用程序。
可選的,處理器被配置為:
確定所述后臺調(diào)用消息對應(yīng)的目標(biāo)調(diào)用方式;
根據(jù)所述目標(biāo)調(diào)用方式,對所述目標(biāo)應(yīng)用程序中未包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,并拒絕對所述目標(biāo)應(yīng)用程序中包含于所述終端拒絕調(diào)用列表的應(yīng)用程序進(jìn)行后臺啟動,其中,所述目標(biāo)調(diào)用方式包括Start Activity、Send Broadcast、Start Service(bind Service)、Get Content Provider中任意一種。
本公開一示例性實(shí)施例還示出的一種終端的結(jié)構(gòu)示意圖。該終端可以是手機(jī)等。
參照圖11,終端1100可以包括以下一個或多個組件:處理組件1102,存儲器1104,電源組件1106,多媒體組件1108,音頻組件1110,輸入/輸出(I/O)的接口1112,傳感器組件1114,以及通信組件1116。
處理組件1102通常控制終端1100的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機(jī)操作和記錄操作相關(guān)聯(lián)的操作。處理元件1102可以包括一個或多個處理器1120來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件1102可以包括一個或多個模塊,便于處理組件1102和其他組件之間的交互。例如,處理部件1102可以包括多媒體模塊,以方便多媒體組件1108和處理組件1102之間的交互。
存儲器1104被配置為存儲各種類型的數(shù)據(jù)以支持在終端1100的操作。這些數(shù)據(jù)的示例包括用于在終端1100上操作的任何應(yīng)用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲器1104可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實(shí)現(xiàn),如靜態(tài)隨機(jī)存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。
電力組件1106為終端1100的各種組件提供電力。電力組件1106可以包括電源管理系統(tǒng),一個或多個電源,及其他與為音頻輸出設(shè)備1100生成、管理和分配電力相關(guān)聯(lián)的組件。
多媒體組件1108包括在所述終端1100和用戶之間的提供一個輸出接口的屏幕。在一些實(shí)施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實(shí)現(xiàn)為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個或多個觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關(guān)的持續(xù)時間和壓力。在一些實(shí)施例中,多媒體組件1108包括一個前置攝像頭和/或后置攝像頭。當(dāng)終端1100處于操作模式,如拍攝模式或視頻模式時,前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個前置攝像頭和后置攝像頭可以是一個固定的光學(xué)透鏡系統(tǒng)或具有焦距和光學(xué)變焦能力。
音頻組件1110被配置為輸出和/或輸入音頻信號。例如,音頻組件1110包括一個麥克風(fēng)(MIC),當(dāng)音頻輸出設(shè)備1100處于操作模式,如呼叫模式、記錄模式和語音識別模式時,麥克風(fēng)被配置為接收外部音頻信號。所接收的音頻信號可以被進(jìn)一步存儲在存儲器1104或經(jīng)由通信組件1116發(fā)送。
I/O接口1112為處理組件1102和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點(diǎn)擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動按鈕和鎖定按鈕。
傳感器組件1114包括一個或多個傳感器,用于為終端1100提供各個方面的狀態(tài)評估。例如,傳感器組件1114可以檢測到終端1100的打開/關(guān)閉狀態(tài),組件的相對定位,例如所述組件為終端1100的顯示器和小鍵盤,傳感器組件1114還可以檢測終端1100或終端1100一個組件的位置改變,用戶與終端1100接觸的存在或不存在,終端1100方位或加速/減速和終端1100的溫度變化。傳感器組件1114可以包括接近傳感器,被配置用來在沒有任何的物理接觸時檢測附近物體的存在。傳感器組件1114還可以包括光傳感器,如CMOS或CCD圖像傳感器,用于在成像應(yīng)用中使用。在一些實(shí)施例中,該傳感器組件1114還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
通信組件1116被配置為便于終端1100和其他設(shè)備之間有線或無線方式的通信。終端1100可以接入基于通信標(biāo)準(zhǔn)的無線網(wǎng)絡(luò),如WiFi,2G或3G,或它們的組合。在一個示例性實(shí)施例中,通信部件1116經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號或廣播相關(guān)信息。在一個示例性實(shí)施例中,所述通信部件1116還包括近場通信(NFC)模塊,以促進(jìn)短程通信。例如,在NFC模塊可基于射頻識別(RFID)技術(shù),紅外數(shù)據(jù)協(xié)會(IrDA)技術(shù),超寬帶(UWB)技術(shù),藍(lán)牙(BT)技術(shù)和其他技術(shù)來實(shí)現(xiàn)。
在示例性實(shí)施例中,終端1100可以被一個或多個應(yīng)用專用集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理設(shè)備(DSPD)、可編程邏輯器件(PLD)、現(xiàn)場可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實(shí)現(xiàn),用于執(zhí)行上述方法。
在示例性實(shí)施例中,還提供了一種包括指令的非臨時性計(jì)算機(jī)可讀存儲介質(zhì),例如包括指令的存儲器1104,上述指令可由終端1100的處理器1120執(zhí)行以完成上述方法。例如,所述非臨時性計(jì)算機(jī)可讀存儲介質(zhì)可以是ROM、隨機(jī)存取存儲器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲設(shè)備等。
一種非臨時性計(jì)算機(jī)可讀存儲介質(zhì),當(dāng)所述存儲介質(zhì)中的指令由終端1100的處理器執(zhí)行時,使得終端1100能夠執(zhí)行上述方法。
應(yīng)當(dāng)理解的是,在本文中提及的“多個”是指兩個或兩個以上?!昂?或”,描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:單獨(dú)存在A,同時存在A和B,單獨(dú)存在B這三種情況。字符“/”一般表示前后關(guān)聯(lián)對象是一種“或”的關(guān)系。
本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本公開的其它實(shí)施方案。本申請旨在涵蓋本公開的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本公開的一般性原理并包括本公開未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本公開的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本公開并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本公開的范圍僅由所附的權(quán)利要求來限制。