專利名稱:一種消息處理方法、裝置及電子設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于電子領(lǐng)域,特別涉及一種消息處理方法、裝置及電子設(shè)備。
背景技術(shù):
在各種操作系統(tǒng)中,應(yīng)用可以基于從操作系統(tǒng)接收到的消息觸發(fā)相應(yīng)的邏輯動作。發(fā)明人在實現(xiàn)本發(fā)明實施例的過程中發(fā)現(xiàn),現(xiàn)有技術(shù)至少存在如下的缺點現(xiàn)有的消息接收機制都是基于應(yīng)用的注冊機制,一旦注冊,系統(tǒng)就會在消息生成時向這些所有這些消息同時發(fā)送消息,缺少消息發(fā)送控制的靈活性。
發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供一種消息處理方法、裝置及電子設(shè)備,提高操作系統(tǒng)消息發(fā)送的靈活性。為了實現(xiàn)上述目的,本發(fā)明實施例提供了一種消息處理方法,應(yīng)用于一操作系統(tǒng),所述消息處理方法包括在所述操作系統(tǒng)生成一第一消息時,獲取第一應(yīng)用集合和第二應(yīng)用集合,所述第一應(yīng)用集合由滿足所述第一消息的基于第一參數(shù)確定的發(fā)送條件的應(yīng)用組成,所述第二應(yīng)用集合由滿足所述第一消息的基于第二參數(shù)確定的禁止發(fā)送條件的應(yīng)用組成;進行消息發(fā)送控制,使所述第一消息在發(fā)送到第三應(yīng)用集合的應(yīng)用時,無法同時發(fā)送給第二應(yīng)用集合中的應(yīng)用;其中,所述第三應(yīng)用集合為所述第一應(yīng)用集合和所述第二應(yīng)用集合的差集。上述的消息處理方法,其中,進行消息發(fā)送控制具體包括發(fā)送所述第一消息發(fā)送到第三應(yīng)用集合中的應(yīng)用,同時阻止發(fā)送所述第一消息到所述第二應(yīng)用集合中的應(yīng)用。上述的消息處理方法,其中,所述第一消息所述操作系統(tǒng)運行過程中基于事件觸發(fā)的消息。上述的消息處理方法,其中,進行消息發(fā)送控制具體為發(fā)送所述第一消息到第三應(yīng)用集合中的應(yīng)用;發(fā)送操作完成后設(shè)置一定時器;在定時器到時后,發(fā)送所述第一消息到所述第二應(yīng)用集合中的應(yīng)用。上述的消息處理方法,其中,所述第一消息為所述操作系統(tǒng)啟動完畢后觸發(fā)的系統(tǒng)啟動完成消息,所述第一應(yīng)用集合中的應(yīng)用為向所述操作系統(tǒng)注冊來申請接收所述系統(tǒng)啟動完成消息,以在所述t呆作系統(tǒng)啟動完畢后實現(xiàn)自動啟動的應(yīng)用。上述的消息處理方法,其中,所述第二參數(shù)為用戶選擇參數(shù)或一應(yīng)用屬性參數(shù)。為了實現(xiàn)上述目的,本發(fā)明實施例提供了一種消息處理裝置,應(yīng)用于一操作系統(tǒng),所述消息處理裝置包括
應(yīng)用集合確定模塊,用于在所述操作系統(tǒng)生成一第一消息時,獲取第一應(yīng)用集合和第二應(yīng)用集合,所述第一應(yīng)用集合由滿足所述第一消息的基于第一參數(shù)確定的發(fā)送條件的應(yīng)用組成,所述第二應(yīng)用集合由滿足所述第一消息的基于第二參數(shù)確定的禁止發(fā)送條件的應(yīng)用組成;控制模塊,用于進行消息發(fā)送控制,使所述第一消息在發(fā)送到第三應(yīng)用集合的應(yīng)用時,無法同時發(fā)送給第二應(yīng)用集合中的應(yīng)用;其中,所述第三應(yīng)用集合為所述第一應(yīng)用集合和所述第二應(yīng)用集合的差集。上述的消息處理裝置,其中,所述控制模塊具體用于發(fā)送所述第一消息發(fā)送到第三應(yīng)用集合中的應(yīng)用,同時阻止發(fā)送所述第一消息到所述第二應(yīng)用集合中的應(yīng)用。上述的消息處理裝置,其中,所述第一消息所述操作系統(tǒng)運行過程中基于事件觸發(fā)的消息。上述的消息處理裝置,其中,所述控制模塊具體包括第一發(fā)送單元,用于發(fā)送所述第一消息到第三應(yīng)用集合中的應(yīng)用;設(shè)置單元,用于發(fā)送操作完成后設(shè)置一定時器;第二發(fā)送單元,用于在定時器到時后,發(fā)送所述第一消息到所述第二應(yīng)用集合中的應(yīng)用。上述的消息處理裝置,其中,所述第一消息為所述操作系統(tǒng)啟動完畢后觸發(fā)的系統(tǒng)啟動完成消息,所述第一應(yīng)用集合中的應(yīng)用為向所述操作系統(tǒng)注冊來申請接收所述系統(tǒng)啟動完成消息,以在所述t呆作系統(tǒng)啟動完畢后實現(xiàn)自動啟動的應(yīng)用。上述的消息處理裝置,其中,所述第二參數(shù)為用戶選擇參數(shù)或一應(yīng)用屬性參數(shù)。為了實現(xiàn)上述目的,本發(fā)明實施例提供了一種電子設(shè)備,包括處理器,基于該處理器能夠運行一操作系統(tǒng),所述處理器用于在所述操作系統(tǒng)生成一第一消息時,獲取第一應(yīng)用集合和第二應(yīng)用集合,并進行消息發(fā)送控制,使所述第一消息在發(fā)送到第三應(yīng)用集合的應(yīng)用時,無法同時發(fā)送給第二應(yīng)用集合中的應(yīng)用;其中,所述第一應(yīng)用集合由滿足所述第一消息的基于第一參數(shù)確定的發(fā)送條件的應(yīng)用組成,所述第二應(yīng)用集合由滿足所述第一消息的基于第二參數(shù)確定的禁止發(fā)送條件的應(yīng)用組成,所述第三應(yīng)用集合為所述第一應(yīng)用集合和所述第二應(yīng)用集合的差集。上述的電子設(shè)備,其中,所述處理器具體包括應(yīng)用集合確定模塊,用于在所述操作系統(tǒng)生成一第一消息時,獲取所述第一應(yīng)用集合和第二應(yīng)用集合;控制模塊,用于進行消息發(fā)送控制,使所述第一消息在發(fā)送到所述第三應(yīng)用集合的應(yīng)用時,無法同時發(fā)送給所述第二應(yīng)用集合中的應(yīng)用。本發(fā)明實施例具有以下有益效果在本發(fā)明具體實施例中,發(fā)送操作系統(tǒng)生成的消息時,不再是僅僅考慮基于第一參數(shù)確定的發(fā)送條件,同時還需要考慮基于第二參數(shù)確定的禁止發(fā)送條件,相對于現(xiàn)有技術(shù)中僅依據(jù)基于第一方面因素確定的發(fā)送條件進行的消息發(fā)送機制,由于本發(fā)明實施例的方法還基于禁止發(fā)送條件來進行消息發(fā)送控制,使得部分應(yīng)用無法從操作系統(tǒng)接收到的消息,從而無法觸發(fā)相應(yīng)的邏輯動作,提高操作系統(tǒng)消息發(fā)送的靈活性。而這種消息發(fā)送的靈活性能夠用于改善系統(tǒng)安全性和用戶的便捷性。
圖1所示為本發(fā)明實施例的消息處理方法的流程示意圖;圖2所示為本發(fā)明實施例的消息處理方法的實際應(yīng)用的流程示意圖;圖3所示為本發(fā)明實施例的消息處理裝置的結(jié)構(gòu)示意圖。
具體實施例方式本發(fā)明實施例的一種消息處理方法、裝置及電子設(shè)備中,在操作系統(tǒng)生成一消息時,不再僅僅依據(jù)基于一方面因素確定的發(fā)送條件來決定消息是否發(fā)送到應(yīng)用,而是依據(jù)基于第一方面因素確定的發(fā)送條件和基于第二方面因素確定的禁止發(fā)送條件來進行消息發(fā)送控制,提高操作系統(tǒng)消息發(fā)送的靈活性。本發(fā)明實施例的消息處理方法,應(yīng)用于一操作系統(tǒng),如圖1所示,所述消息處理方法包括步驟11,在所述操作系統(tǒng)生成一第一消息時,獲取第一應(yīng)用集合和第二應(yīng)用集合,所述第一應(yīng)用集合由滿足所述第一消息的基于第一參數(shù)確定的發(fā)送條件的應(yīng)用組成,所述第二應(yīng)用集合由滿足所述第一消息的基于第二參數(shù)確定的禁止發(fā)送條件的應(yīng)用組成;步驟12,進行消息發(fā)送控制,使所述第一消息在發(fā)送到第三應(yīng)用集合的應(yīng)用時,無法同時發(fā)送給第二應(yīng)用集合中的應(yīng)用;其中,所述第三應(yīng)用集合為所述第一應(yīng)用集合和所述第二應(yīng)用集合的差集。在本發(fā)明具體實施例中,發(fā)送操作系統(tǒng)生成的消息時,不再是僅僅考慮基于第一參數(shù)確定的發(fā)送條件,同時還需要考慮基于第二參數(shù)確定的禁止發(fā)送條件,相對于現(xiàn)有技術(shù)中僅依據(jù)基于第一方面因素確定的發(fā)送條件進行的消息發(fā)送機制,由于本發(fā)明實施例的方法還基于禁止發(fā)送條件來進行消息發(fā)送控制,使得部分應(yīng)用無法從操作系統(tǒng)接收到的消息,從而無法觸發(fā)相應(yīng)的邏輯動作,提高操作系統(tǒng)消息發(fā)送的靈活性。而這種消息發(fā)送的靈活性會在系統(tǒng)安全性、用戶的便捷性等方面帶來有益效果,這將在后續(xù)進行說明。在對本發(fā)明實施例進行進一步詳細說明之前,先對本發(fā)明實施例中涉及到的幾個應(yīng)用集合說明如下。以消息X為例,在操作系統(tǒng)生成消息X時,假定按照第一參數(shù)(如應(yīng)用注冊信息
等,這將在后面進行詳細說明)來看,消息X應(yīng)該發(fā)送到如下10個應(yīng)用A1、A2、A3.....
A10,而同時,如果按照第二參數(shù)(如用戶選擇消息、或者可靠性參數(shù)、或者優(yōu)先級參數(shù)等,這將在后面進行詳細說明)來看,消息X不能發(fā)送到可靠性較差的如下3個應(yīng)用A1、A5、A7。按照上述的例子,則第一應(yīng)用集合是一個全集,為所有按照注冊情況來看應(yīng)該發(fā)送消息的應(yīng)用集合,為{Al A2 A3. . . A10};第二應(yīng)用集合為第一應(yīng)用集合的一個子集,為按照可靠性參數(shù)來看,不應(yīng)該發(fā)送消息的應(yīng)用集合,為{Al A5 A7};第三應(yīng)用集合為所述第一應(yīng)用集合和所述第二應(yīng)用集合的差集,為綜合注冊情況和可靠性參數(shù)來看,最終確定的應(yīng)該發(fā)送消息的應(yīng)用集合,為{A2 A3A4 A6 A8 A9 AlOj0在本發(fā)明的具體實施例中,涉及到第一參數(shù)和第二參數(shù),該第一參數(shù)和第二參數(shù)屬于不同的參數(shù),對該第一參數(shù)和第二參數(shù)說明如下。在現(xiàn)有的操作系統(tǒng)中,消息接收機制都是基于應(yīng)用的注冊機制,也就是說,在本發(fā)明的具體實施例中,該第一參數(shù)可以是應(yīng)用的注冊信息,而所有向所述操作系統(tǒng)注冊來申請在所述第一消息生成后接收所述第一消息的應(yīng)用組成第一應(yīng)用集合。而第二參數(shù)可以是用戶選擇參數(shù)或應(yīng)用屬性參數(shù),分別說明如下。當(dāng)?shù)诙?shù)是用戶選擇參數(shù)時,該第二集合的生成說明如下。首先,獲取第一集合,并將第一集合所包括的應(yīng)用通知用戶,如通過顯示在顯示屏上,當(dāng)然還可以通過其他方式,但本發(fā)明實施例并不關(guān)注如何通知用戶,在此不作詳細說明;然后,用戶根據(jù)自身需求從第一應(yīng)用集合的應(yīng)用中選擇部分或全部應(yīng)用;最后,利用用戶選擇的應(yīng)用就組成了第二應(yīng)用集合。如對于移動通信終端在接收到呼叫請求消息時產(chǎn)生的新來電消息,向所述操作系統(tǒng)注冊來申請在所述新來電消息生成后接收所述新來電消息的應(yīng)用包括顯示通知應(yīng)用XI,接收該新來電消息后在顯示屏顯示信息,通知用戶有新來電;聲音通知應(yīng)用X2,接收該新來電消息后播放來電鈴聲,通知用戶有新來電;未知應(yīng)用X3,接收該新來電消息后啟動錄音程序,并發(fā)送錄音到特定地址。此時,用戶從這3個應(yīng)用中選擇未知應(yīng)用X3,則應(yīng)用X3對應(yīng)的用戶選擇參數(shù)被賦值1,如果設(shè)置新來電消息的禁止發(fā)送條件為用戶選擇參數(shù)的值為1,則應(yīng)用X3滿足新來電消息的禁止發(fā)送條件,第二應(yīng)用集合為{X3}。當(dāng)?shù)诙?shù)是應(yīng)用屬性參數(shù)時,該第二集合的生成說明如下。該應(yīng)用屬性參數(shù)可以是各種參數(shù),下面以外部數(shù)據(jù)交互能力參數(shù)為例說明如下。如對于移動通信終端在接收到呼叫請求消息時產(chǎn)生的新來電消息,向所述操作系統(tǒng)注冊來申請在所述新來電消息生成后接收所述新來電消息的應(yīng)用包括顯示通知應(yīng)用XI,接收該新來電消息后在顯示屏顯示信息,通知用戶有新來電;聲音通知應(yīng)用X2,接收該新來電消息后播放來電鈴聲,通知用戶有新來電;未知應(yīng)用X3,接收該新來電消息后啟動錄音程序,并發(fā)送錄音到特定地址。從以上3個應(yīng)用的外部數(shù)據(jù)交互能力參數(shù)來看,第一個和第二個應(yīng)用接收該新來電消息后都是僅僅在本地應(yīng)用,因此不具備外部數(shù)據(jù)交互能力,而第三個應(yīng)用X3接收該新來電消息后啟動錄音程序,并發(fā)送錄音到外部,因此具備外部數(shù)據(jù)交互能力,如果設(shè)置新來電消息的禁止發(fā)送條件為具備外部數(shù)據(jù)交互能力,則應(yīng)用X3滿足新來電消息的禁止發(fā)送條件,則第二應(yīng)用集合為{X3}。與上述的用戶選擇的方式不同的是,基于應(yīng)用屬性參數(shù)可以自動完成,每新安裝一個應(yīng)用時,系統(tǒng)都可以根據(jù)該應(yīng)用屬性參數(shù)來更新所有的集合,相對用戶而言更加簡單。當(dāng)然,以上的參數(shù)僅僅是舉例說明,應(yīng)用的其他屬性參數(shù)(如應(yīng)用是否通過認證、應(yīng)用的使用頻率、優(yōu)先級等)也都可以用于生成/更新該第二應(yīng)用集合,在此不一一列舉。在本發(fā)明的具體實施例中,在第一應(yīng)用集合和第二應(yīng)用集合確定之后,就需要在消息生成時進行消息發(fā)送控制,使所述第一消息在發(fā)送到第三應(yīng)用集合的應(yīng)用時,無法同時發(fā)送給第二應(yīng)用集合中的應(yīng)用,而這種消息發(fā)送控制可以通過多種方式來實現(xiàn),分別說明如下?!窗l(fā)送控制方式一>在發(fā)送控制方式一中,直接阻止消息發(fā)送到第二應(yīng)用集合中的應(yīng)用,這種方式下,進行消息發(fā)送控制具體包括發(fā)送所述第一消息發(fā)送到第三應(yīng)用集合中的應(yīng)用,同時阻止發(fā)送所述第一消息到所述第二應(yīng)用集合中的應(yīng)用。在這種方式下,禁止發(fā)送條件是一種絕對的禁止發(fā)送條件,也就是說會阻止所述第一消息到所述第二應(yīng)用集合中的應(yīng)用。對于上述的發(fā)送控制方式的應(yīng)用舉例說明如下。如很多的操作系統(tǒng)的應(yīng)用,其會進行攔截、竊聽、拷貝等操作,如攔截用戶的短消息、如對用戶來電進行記錄、又如在特定時間到來時拷貝用戶的通信記錄、電話薄等,這些應(yīng)用如果是用戶無意安裝的,或者是應(yīng)用強制安裝的,則存在很大的安全隱患,在本發(fā)明的具體實施例中,如果這些應(yīng)用根據(jù)用戶選擇或者可靠性參數(shù)發(fā)現(xiàn),這些應(yīng)用滿足禁止發(fā)送條件,則這些應(yīng)用被劃分到第二集合中。則在后續(xù)的第一消息(如接收到新短信的消息、有新來電的消息、時間到達特定時刻的消息)產(chǎn)生時,這些消息僅會被發(fā)送到那些屬于第三集合中的應(yīng)用,而同時,在發(fā)送這些消息到第三應(yīng)用集合中的應(yīng)用時,會被阻止發(fā)送屬于第二集合中的應(yīng)用,使得這些應(yīng)用無法接收到該消息,也就無法觸發(fā)相應(yīng)的邏輯動作(對用戶來電進行記錄、又如在特定時間到來時拷貝用戶的通信記錄、電話薄等)。通過上述的方式,防止了電話的竊聽,防止了通信記錄、電話薄等的被拷貝,提高了系統(tǒng)的安全性。從以上的描述可以發(fā)現(xiàn),上述的發(fā)送控制方式一適用于對所述操作系統(tǒng)運行過程中基于事件觸發(fā)的消息進行發(fā)送控制,以提高系統(tǒng)的安全性。然而上述的發(fā)送控制方式一也適用于對所述操作系統(tǒng)啟動過程后的應(yīng)用自動運行的控制,說明如下。這種方式下,所述第一消息為所述操作系統(tǒng)啟動完畢后觸發(fā)的系統(tǒng)啟動完成消息,所述第一應(yīng)用集合中的應(yīng)用為向所述操作系統(tǒng)注冊來申請接收所述系統(tǒng)啟動完成消息,以在所述操作系統(tǒng)啟動完畢后實現(xiàn)自動啟動的應(yīng)用。如很多的應(yīng)用在安裝過程或者安裝完成后會向操作系統(tǒng)注冊,申請接收所述系統(tǒng)啟動完成消息,以在所述t呆作系統(tǒng)啟動完畢后實現(xiàn)自動啟動的應(yīng)用。在此應(yīng)該說明的是,本發(fā)明實施例中的自動啟動是在本次啟動過程中沒有用戶參與而實現(xiàn)的啟動,而基于用戶指示(如應(yīng)用程序圖標(biāo)被點擊等)的應(yīng)用的啟動不屬于自動啟動。按照現(xiàn)有技術(shù)的方案,操作系統(tǒng)會在啟動完畢后,向所有這些注冊的應(yīng)用發(fā)送系統(tǒng)啟動完成消息,而應(yīng)用在接收到系統(tǒng)啟動完成消息后,會自動啟動。這樣存在多方面的問題1、有些應(yīng)用不是用戶想要開機自動啟動的應(yīng)用;2、開機自動啟動的應(yīng)用過多,會導(dǎo)致大量系統(tǒng)資源被耗費,導(dǎo)致系統(tǒng)運行效率低下;而現(xiàn)有技術(shù)中,如果要解決上述問題,對于某些用戶而言,可能只能通過刪除該應(yīng)用來控制,但這個應(yīng)用可能用戶只是不想開機自動啟動,而平時還是需要使用。這樣由于現(xiàn)有技術(shù)中消息發(fā)送機制的不靈活,導(dǎo)致用戶后續(xù)的使用也極為不便。而通過本發(fā)明實施例的方法,用戶可以選擇該不想自動啟動的應(yīng)用,如X4,使得其屬于第二應(yīng)用集合中的應(yīng)用,這樣,系統(tǒng)啟動完成消息生成后,發(fā)送所述第一消息發(fā)送到第三應(yīng)用集合中的應(yīng)用,同時阻止該消息發(fā)送到X4,這樣X4無法接收到該系統(tǒng)啟動完成消息,從而無法完成自動啟動。通過上述的控制,能夠使得開機過程加快。<發(fā)送控制方式二 >在發(fā)送控制方式二中,使所述第一消息在發(fā)送到第三應(yīng)用集合的應(yīng)用時,無法同時發(fā)送給第二應(yīng)用集合中的應(yīng)用通過分時段發(fā)送來實現(xiàn),這種情況下,進行消息發(fā)送控制具體為發(fā)送所述第一消息到第三應(yīng)用集合中的應(yīng)用;發(fā)送操作完成后設(shè)置一定時器;在定時器到時后,發(fā)送所述第一消息到所述第二應(yīng)用集合中的應(yīng)用。上述方式中,在Tl時刻,發(fā)送所述第一消息到第三應(yīng)用集合中的應(yīng)用,而在計時器到時之后才發(fā)送述第一消息到所述第二應(yīng)用集合中的應(yīng)用。在這種方式下,禁止發(fā)送條件是一種相對的禁止發(fā)送條件,也就是說在發(fā)送所述第一消息到第三應(yīng)用集合中的應(yīng)用的時刻禁止第一消息發(fā)送到所述第二應(yīng)用集合中的應(yīng)用,而在沒有發(fā)送所述第一消息到第三應(yīng)用集合中的應(yīng)用的時刻可以發(fā)送第一消息到所述第二應(yīng)用集合中的應(yīng)用。這種方式用于應(yīng)用在開機后的自動啟動尤為有效,應(yīng)用于開機后應(yīng)用的自動啟動控制時,所述第一消息為所述操作系統(tǒng)啟動完畢后觸發(fā)的系統(tǒng)啟動完成消息,所述第一應(yīng)用集合中的應(yīng)用為向所述操作系統(tǒng)注冊來申請接收所述系統(tǒng)啟動完成消息,以在所述操作系統(tǒng)啟動完畢后實現(xiàn)自動啟動的應(yīng)用,詳細說明如下。之前提到,按照現(xiàn)有技術(shù)的方案,操作系統(tǒng)會在啟動完畢后,向所有注冊申請系統(tǒng)啟動完成消息的應(yīng)用發(fā)送系統(tǒng)啟動完成消息,而應(yīng)用在接收到系統(tǒng)啟動完成消息后,會自動啟動,這樣在應(yīng)用過多時,會使用所有的處理器資源,用戶長時間無法使用電子設(shè)備,甚至有可能造成死機。而利用本發(fā)明實施例的方法,為所有注冊申請系統(tǒng)啟動完成消息的應(yīng)用設(shè)置一優(yōu)先級,而禁止發(fā)送條件為應(yīng)用的優(yōu)先級低于預(yù)設(shè)的優(yōu)先級,則優(yōu)先級低于預(yù)設(shè)的優(yōu)先級的應(yīng)用會被劃分到第二集合中。在丨呆作系統(tǒng)啟動完畢后觸發(fā)的系統(tǒng)啟動完成消息,此時該系統(tǒng)啟動完成消息會發(fā)送到優(yōu)先級高于或等于預(yù)設(shè)的優(yōu)先級的應(yīng)用中,這些應(yīng)用在接收到該系統(tǒng)啟動完成消息后完成自動啟動。而在將系統(tǒng)啟動完成消息發(fā)送到優(yōu)先級高于或等于預(yù)設(shè)的優(yōu)先級的應(yīng)用的同時啟動一定時器(如5分鐘定時器),5分鐘之后,定時器到時,此時發(fā)送所述系統(tǒng)啟動完成消息到優(yōu)先級低于預(yù)設(shè)的優(yōu)先級的應(yīng)用,優(yōu)先級低于預(yù)設(shè)的優(yōu)先級的應(yīng)用在接收到該系統(tǒng)啟動完成消息后完成自動啟動。以Andriod系統(tǒng)對于應(yīng)用未啟動狀態(tài)下如何接收系統(tǒng)啟動完成消息說明如下。系統(tǒng)啟動的時候會首先啟動包管理器服務(wù),該服務(wù)會檢查每個應(yīng)用的資源申請文件(這個文件包含該應(yīng)用需要接收的消息),并自動將各個應(yīng)用的接收器啟動(但接收器的啟動只是這個應(yīng)用的一個特定組件的啟動,而不是啟動這個應(yīng)用)。一旦有消息要發(fā)送,F(xiàn)ramework的消息發(fā)送器就會發(fā)送消息到應(yīng)用的接收器,應(yīng)用的接收器收到消息后才會做自動啟動應(yīng)用的特定進程,完成應(yīng)用的自動啟動。從以上描述方式可以發(fā)現(xiàn),上述的靈活的消息發(fā)送機制使得集中在一起啟動的大量應(yīng)用分批進行啟動,這樣,在某一段時間只有部分應(yīng)用在啟動,處理器資源的占用相對較少,這樣用戶可以提前使用電子設(shè)備,而其他的應(yīng)用也可以在用戶使用電子設(shè)備的同時完成自動啟動,不會使得用戶無法使用。在此應(yīng)當(dāng)說明的是,上述的例子是以Android系統(tǒng)中的應(yīng)用為例進行的說明,但本發(fā)明實施例的上述應(yīng)用以及之前、之后的描述都不限于Android系統(tǒng),其他具有類似消息發(fā)送特征的系統(tǒng)也可以應(yīng)用本發(fā)明實施例的方法來提高消息發(fā)送的靈活性。在本發(fā)明實施例中,進行消息發(fā)送控制,使所述第一消息在發(fā)送到第三應(yīng)用集合的應(yīng)用時,無法同時發(fā)送給第二應(yīng)用集合中的應(yīng)用,其都包括一個動作在一個時間點上發(fā)送到第三應(yīng)用集合的應(yīng)用,對此,本發(fā)明實施例也可以通過多種方式來實現(xiàn),分別說明如下?!捶绞揭弧翟诓僮飨到y(tǒng)發(fā)送消息時,是一種類似多播的操作(但應(yīng)當(dāng)理解的是,這種多播的操作在某些操作系統(tǒng),如Android系統(tǒng)中被定義為“廣播” broadcast),其會將該消息多播到集合中的應(yīng)用。因此,方式一中,首先攔截操作系統(tǒng)發(fā)送的目的地為第一集合中的應(yīng)用的第一多播消息;然后將第一多播消息的目的地修改為第三集合中的應(yīng)用,得到第二多播消息,然后發(fā)送第二多播消息。修改之后,由于最終面對應(yīng)用發(fā)送的多播消息的目的地僅僅包括第三集合中的應(yīng)用,因此僅僅會發(fā)送到第三集合的應(yīng)用中,而第二集合中的應(yīng)用此時無法收到該多播消息,也就無法獲取其中攜帶的第一消息?!捶绞蕉翟诓僮飨到y(tǒng)發(fā)送消息時,是一種類似多播的操作,其會將該消息多播到集合中的應(yīng)用。因此,方式二中,首先實時監(jiān)測操作系統(tǒng)的消息生成情況;在監(jiān)測到操作系統(tǒng)生成了第一消息時,則查找與第一消息對應(yīng)的第一應(yīng)用集合和第二應(yīng)用集合;然后對對第一應(yīng)用集合和第二應(yīng)用集合取差集,得到第三應(yīng)用集合;然后構(gòu)建目的地為第三集合中的應(yīng)用的第三多播消息并發(fā)送。這樣由于最終面對應(yīng)用發(fā)送的多播消息的目的地僅僅包括第三集合中的應(yīng)用,因此多播消息僅僅會發(fā)送到第三集合的應(yīng)用中,而第二集合中的應(yīng)用此時無法收到該多播消息,也就無法獲取其中攜帶的第一消息?!捶绞饺?br>
在方式三中,操作系統(tǒng)生成第一消息之后,生成一個單播消息發(fā)送到一個特定的應(yīng)用,該特定的應(yīng)用在接收到該單播消息后,提取其中攜帶的第一消息,然后查找與第一消息對應(yīng)的第一應(yīng)用集合和第二應(yīng)用集合,然后對第一應(yīng)用集合和第二應(yīng)用集合取差集,得到第三應(yīng)用集合;然后構(gòu)建目的地為第三集合中的應(yīng)用的第四多播消息并發(fā)送。由于最終面對應(yīng)用的多播消息的目的地僅僅包括第三集合中的應(yīng)用,因此僅僅會發(fā)送到第三集合的應(yīng)用中,而第二集合中的應(yīng)用此時無法收到該多播消息,也就無法獲取其中攜帶的第一消息。本發(fā)明實施例可以應(yīng)用于各種操作系統(tǒng),如安卓操作系統(tǒng),由于在各種操作系統(tǒng)中的處理機制基本相同,因此不對該方法在各個具體操作系統(tǒng)中的應(yīng)用進行進一步詳細說明。下面結(jié)合圖2,以基于用戶選擇確定第二應(yīng)用集合為例詳細說明如下。如圖2所示,首先進行應(yīng)用資源申明分析,分析各應(yīng)用要接收的各類消息,圖2所示的例子中,應(yīng)用A、B和C都申請接收“系統(tǒng)啟動完畢”的消息;然后將該A、B和C都申請接收“系統(tǒng)啟動完畢”的消息通知用戶,基于用戶選擇操作定義發(fā)送目標(biāo),圖2所示的例子中,用戶選擇允許應(yīng)用A、B接收“系統(tǒng)啟動完畢”的消息,而禁止C接收“系統(tǒng)啟動完畢”的消息;然后基于上述的發(fā)送和禁止發(fā)送的情況形成一系統(tǒng)消息發(fā)送規(guī)則庫;當(dāng)系統(tǒng)啟動完成后,觸發(fā)相應(yīng)的消息,而Framework層中的消息發(fā)送器首先會查找并加載上述形成的系統(tǒng)消息發(fā)送規(guī)則庫,并基于該系統(tǒng)消息發(fā)送規(guī)則庫確定只需要發(fā)送給A和B,而不發(fā)送給C。這樣,應(yīng)用C在開機后由于接收不到“系統(tǒng)啟動完畢”消息而無法自動啟動。本發(fā)明實施例的一種消息處理裝置,應(yīng)用于一操作系統(tǒng),如圖3所示,所述消息處理裝置包括應(yīng)用集合確定模塊,用于在所述操作系統(tǒng)生成一第一消息時,獲取第一應(yīng)用集合和第二應(yīng)用集合,所述第一應(yīng)用集合由滿足所述第一消息的基于第一參數(shù)確定的發(fā)送條件的應(yīng)用組成,所述第二應(yīng)用集合由滿足所述第一消息的基于第二參數(shù)確定的禁止發(fā)送條件的應(yīng)用組成;控制模塊,用于進行消息發(fā)送控制,使所述第一消息在發(fā)送到第三應(yīng)用集合的應(yīng)用時,無法同時發(fā)送給第二應(yīng)用集合中的應(yīng)用;其中,所述第三應(yīng)用集合為所述第一應(yīng)用集合和所述第二應(yīng)用集合的差集。上述的消息處理裝置中,其特征在于,所述控制模塊進行消息發(fā)送控制可以是發(fā)送所述第一消息發(fā)送到第三應(yīng)用集合中的應(yīng)用,同時阻止發(fā)送所述第一消息到所述第二應(yīng)用集合中的應(yīng)用。所述第一消息所述操作系統(tǒng)運行過程中基于事件觸發(fā)的消息。所述控制模塊進行消息發(fā)送控制也可以是第一發(fā)送單元,用于發(fā)送所述第一消息到第三應(yīng)用集合中的應(yīng)用;設(shè)置單元,用于發(fā)送操作完成后設(shè)置一定時器;第二發(fā)送單元,用于在定時器到時后,發(fā)送所述第一消息到所述第二應(yīng)用集合中的應(yīng)用。
用于系統(tǒng)啟動完成后的應(yīng)用自動啟動控制時,所述第一消息為所述操作系統(tǒng)啟動完畢后觸發(fā)的系統(tǒng)啟動完成消息,所述第一應(yīng)用集合中的應(yīng)用為向所述操作系統(tǒng)注冊來申請接收所述系統(tǒng)啟動完成消息,以在所述操作系統(tǒng)啟動完畢后實現(xiàn)自動啟動的應(yīng)用。所述第二參數(shù)為用戶選擇參數(shù)或一應(yīng)用屬性參數(shù)。所述控制模塊可以是包括攔截單元,用于攔截所述操作系統(tǒng)發(fā)送的目的地為所述第一集合中的應(yīng)用的第一多播消息;修改單元,用于將所述第一多播消息的目的地修改為所述第三集合中的應(yīng)用,得到第二多播消息;第三發(fā)送單元,用于發(fā)送所述第二多播消息。所述控制模塊也可以是包括第一構(gòu)建單元,用于直接構(gòu)建目的地為所述第三集合中的應(yīng)用,且攜帶所述第一消息的第三多播消息;第四發(fā)送單元,用于發(fā)送所述第三多播消息。所述控制模塊還可以是包括獲取單元,獲取操作系統(tǒng)在生成第一消息之后生成并發(fā)送的單播消息;提取單元,用于提取所述單播消息中攜帶的第一消息;第二構(gòu)建單元,用于構(gòu)建目的地為所述第三集合中的應(yīng)用,且攜帶有所述第一消息的第四多播消息;第五發(fā)送單元,用于發(fā)送所述第四多播消息。本發(fā)明實施例的一種電子設(shè)備,包括處理器以及基于該處理器能夠運行一操作系統(tǒng),所述處理器用于在所述操作系統(tǒng)生成一第一消息時,獲取第一應(yīng)用集合和第二應(yīng)用集合,并進行消息發(fā)送控制,使所述第一消息在發(fā)送到第三應(yīng)用集合的應(yīng)用時,無法同時發(fā)送給第二應(yīng)用集合中的應(yīng)用;其中,所述第一應(yīng)用集合由滿足所述第一消息的基于第一參數(shù)確定的發(fā)送條件的應(yīng)用組成,所述第二應(yīng)用集合由滿足所述第一消息的基于第二參數(shù)確定的禁止發(fā)送條件的應(yīng)用組成,所述第三應(yīng)用集合為所述第一應(yīng)用集合和所述第二應(yīng)用集合的差集。所述處理器具體包括應(yīng)用集合確定模塊,用于在所述操作系統(tǒng)生成一第一消息時,獲取所述第一應(yīng)用集合和第二應(yīng)用集合;控制模塊,用于進行消息發(fā)送控制,使所述第一消息在發(fā)送到所述第三應(yīng)用集合的應(yīng)用時,無法同時發(fā)送給所述第二應(yīng)用集合中的應(yīng)用。本發(fā)明實施例中,模塊可以用軟件實現(xiàn),以便由各種類型的處理器執(zhí)行。舉例來說,一個標(biāo)識的可執(zhí)行代碼模塊可以包括計算機指令的一個或多個物理或者邏輯塊,舉例來說,其可以被構(gòu)建為對象、過程或函數(shù)。盡管如此,所標(biāo)識模塊的可執(zhí)行代碼無需物理地位于一起,而是可以包括存儲在不同位里上的不同的指令,當(dāng)這些指令邏輯上結(jié)合在一起時,其構(gòu)成模塊并且實現(xiàn)該模塊的規(guī)定目的。實際上,可執(zhí)行代碼模塊可以是單條指令或者是許多條指令,并且甚至可以分布在多個不同的代碼段上,分布在不同程序當(dāng)中,以及跨越多個存儲器設(shè)備分布。同樣地,操作數(shù)據(jù)可以在模塊內(nèi)被識別,并且可以依照任何適當(dāng)?shù)男问綄崿F(xiàn)并且被組織在任何適當(dāng)類型的數(shù)據(jù)結(jié)構(gòu)內(nèi)。所述操作數(shù)據(jù)可以作為單個數(shù)據(jù)集被收集,或者可以分布在不同位置上(包括在不同存儲設(shè)備上),并且至少部分地可以僅作為電子信號存在于系統(tǒng)或網(wǎng)絡(luò)上。在模塊可以利用軟件實現(xiàn)時,考慮到現(xiàn)有硬件工藝的水平,所以可以以軟件實現(xiàn)的模塊,在不考慮成本的情況下,本領(lǐng)域技術(shù)人員都可以搭建對應(yīng)的硬件電路來實現(xiàn)對應(yīng)的功能,所述硬件電路包括常規(guī)的超大規(guī)模集成(VLSI)電路或者門陣列以及諸如邏輯芯片、晶體管之類的現(xiàn)有半導(dǎo)體或者是其它分立的元件。模塊還可以用可編程硬件設(shè)備,諸如現(xiàn)場可編程門陣列、可編程陣列邏輯、可編程邏輯設(shè)備等實現(xiàn)。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種消息處理方法,應(yīng)用于一操作系統(tǒng),其特征在于,所述消息處理方法包括 在所述操作系統(tǒng)生成一第一消息時,獲取第一應(yīng)用集合和第二應(yīng)用集合,所述第一應(yīng)用集合由滿足所述第一消息的基于第一參數(shù)確定的發(fā)送條件的應(yīng)用組成,所述第二應(yīng)用集合由滿足所述第一消息的基于第二參數(shù)確定的禁止發(fā)送條件的應(yīng)用組成; 進行消息發(fā)送控制,使所述第一消息在發(fā)送到第三應(yīng)用集合的應(yīng)用時,無法同時發(fā)送給第二應(yīng)用集合中的應(yīng)用; 其中,所述第三應(yīng)用集合為所述第一應(yīng)用集合和所述第二應(yīng)用集合的差集。
2.根據(jù)權(quán)利要求1所述的消息處理方法,其特征在于,進行消息發(fā)送控制具體包括 發(fā)送所述第一消息發(fā)送到第三應(yīng)用集合中的應(yīng)用,同時阻止發(fā)送所述第一消息到所述第二應(yīng)用集合中的應(yīng)用。
3.根據(jù)權(quán)利要求2所述的消息處理方法,其特征在于,所述第一消息所述操作系統(tǒng)運行過程中基于事件觸發(fā)的消息。
4.根據(jù)權(quán)利要求1所述的消息處理方法,其特征在于,進行消息發(fā)送控制具體為 發(fā)送所述第一消息到第三應(yīng)用集合中的應(yīng)用; 發(fā)送操作完成后設(shè)置一定時器; 在定時器到時后,發(fā)送所述第一消息到所述第二應(yīng)用集合中的應(yīng)用。
5.根據(jù)權(quán)利要求4所述的消息處理方法,其特征在于,所述第一消息為所述操作系統(tǒng)啟動完畢后觸發(fā)的系統(tǒng)啟動完成消息,所述第一應(yīng)用集合中的應(yīng)用為向所述操作系統(tǒng)注冊來申請接收所述系統(tǒng)啟動完成消息,以在所述t呆作系統(tǒng)啟動完畢后實現(xiàn)自動啟動的應(yīng)用。
6.根據(jù)權(quán)利要求1-5中任一項所述的消息處理方法,其特征在于,所述第二參數(shù)為用戶選擇參數(shù)或一應(yīng)用屬性參數(shù)。
7.根據(jù)權(quán)利要求1所述的消息處理方法,其特征在于,進行消息發(fā)送控制,使所述第一消息在發(fā)送到第三應(yīng)用集合的應(yīng)用時,無法同時發(fā)送給第二應(yīng)用集合中的應(yīng)用具體包括 攔截所述操作系統(tǒng)發(fā)送的目的地為所述第一集合中的應(yīng)用的第一多播消息; 將所述第一多播消息的目的地修改為所述第三集合中的應(yīng)用,得到第二多播消息; 發(fā)送所述第二多播消息。
8.根據(jù)權(quán)利要求1所述的消息處理方法,其特征在于,進行消息發(fā)送控制,使所述第一消息在發(fā)送到第三應(yīng)用集合的應(yīng)用時,無法同時發(fā)送給第二應(yīng)用集合中的應(yīng)用具體包括 直接構(gòu)建目的地為所述第三集合中的應(yīng)用,且攜帶所述第一消息的的第三多播消息; 發(fā)送所述第三多播消息。
9.根據(jù)權(quán)利要求1所述的消息處理方法,其特征在于,進行消息發(fā)送控制,使所述第一消息在發(fā)送到第三應(yīng)用集合的應(yīng)用時,無法同時發(fā)送給第二應(yīng)用集合中的應(yīng)用具體包括 獲取所述操作系統(tǒng)在生成第一消息之后,生成并發(fā)送的單播消息; 提取所述單播消息中攜帶的第一消息; 構(gòu)建目的地為所述第三集合中的應(yīng)用,且攜帶有所述第一消息的第四多播消息; 發(fā)送所述第四多播消息。
10.一種消息處理裝置,應(yīng)用于一操作系統(tǒng),其特征在于,所述消息處理裝置包括 應(yīng)用集合確定模塊,用于在所述操作系統(tǒng)生成一第一消息時,獲取第一應(yīng)用集合和第二應(yīng)用集合,所述第一應(yīng)用集合由滿足所述第一消息的基于第一參數(shù)確定的發(fā)送條件的應(yīng)用組成,所述第二應(yīng)用集合由滿足所述第一消息的基于第二參數(shù)確定的禁止發(fā)送條件的應(yīng)用組成; 控制模塊,用于進行消息發(fā)送控制,使所述第一消息在發(fā)送到第三應(yīng)用集合的應(yīng)用時,無法同時發(fā)送給第二應(yīng)用集合中的應(yīng)用; 其中,所述第三應(yīng)用集合為所述第一應(yīng)用集合和所述第二應(yīng)用集合的差集。
11.根據(jù)權(quán)利要求10所述的消息處理裝置,其特征在于,所述控制模塊具體用于發(fā)送所述第一消息發(fā)送到第三應(yīng)用集合中的應(yīng)用,同時阻止發(fā)送所述第一消息到所述第二應(yīng)用集合中的應(yīng)用。
12.根據(jù)權(quán)利要求11所述的消息處理裝置,其特征在于,所述第一消息所述操作系統(tǒng)運行過程中基于事件觸發(fā)的消息。
13.根據(jù)權(quán)利要求10所述的消息處理裝置,其特征在于,所述控制模塊具體包括 第一發(fā)送單元,用于發(fā)送所述第一消息到第三應(yīng)用集合中的應(yīng)用; 設(shè)置單元,用于發(fā)送操作完成后設(shè)置一定時器; 第二發(fā)送單元,用于在定時器到時后,發(fā)送所述第一消息到所述第二應(yīng)用集合中的應(yīng)用。
14.根據(jù)權(quán)利要求13所述的消息處理裝置,其特征在于,所述第一消息為所述操作系統(tǒng)啟動完畢后觸發(fā)的系統(tǒng)啟動完成消息,所述第一應(yīng)用集合中的應(yīng)用為向所述操作系統(tǒng)注冊來申請接收所述系統(tǒng)啟動完成消息,以在所述操作系統(tǒng)啟動完畢后實現(xiàn)自動啟動的應(yīng)用。
15.根據(jù)權(quán)利要求10-14中任一項所述的消息處理裝置,其特征在于,所述第二參數(shù)為用戶選擇參數(shù)或一應(yīng)用屬性參數(shù)。
16.根據(jù)權(quán)利要求10所述的消息處理裝置,其特征在于,所述控制模塊具體包括 攔截單元,用于攔截所述操作系統(tǒng)發(fā)送的目的地為所述第一集合中的應(yīng)用的第一多播消息; 修改單元,用于將所述第一多播消息的目的地修改為所述第三集合中的應(yīng)用,得到第二多播消息; 第三發(fā)送單元,用于發(fā)送所述第二多播消息。
17.根據(jù)權(quán)利要求10所述的消息處理裝置,其特征在于,所述控制模塊具體包括 第一構(gòu)建單元,用于直接構(gòu)建目的地為所述第三集合中的應(yīng)用,且攜帶所述第一消息的第三多播消息; 第四發(fā)送單元,用于發(fā)送所述第三多播消息。
18.根據(jù)權(quán)利要求10所述的消息處理裝置,其特征在于,所述控制模塊具體包括 獲取單元,用于獲取所述操作系統(tǒng)在生成第一消息之后,生成并發(fā)送的單播消息; 提取單元,用于提取所述單播消息中攜帶的第一消息; 第二構(gòu)建單元,用于構(gòu)建目的地為所述第三集合中的應(yīng)用,且攜帶有所述第一消息的第四多播消息; 第五發(fā)送單元,用于發(fā)送所述第四多播消息。
19.一種電子設(shè)備,包括處理器,基于該處理器能夠運行一操作系統(tǒng),其特征在于,所述處理器用于在所述操作系統(tǒng)生成一第一消息時,獲取第一應(yīng)用集合和第二應(yīng)用集合,并進行消息發(fā)送控制,使所述第一消息在發(fā)送到第三應(yīng)用集合的應(yīng)用時,無法同時發(fā)送給第二應(yīng)用集合中的應(yīng)用; 其中,所述第一應(yīng)用集合由滿足所述第一消息的基于第一參數(shù)確定的發(fā)送條件的應(yīng)用組成,所述第二應(yīng)用集合由滿足所述第一消息的基于第二參數(shù)確定的禁止發(fā)送條件的應(yīng)用組成,所述第三應(yīng)用集合為所述第一應(yīng)用集合和所述第二應(yīng)用集合的差集。
20.根據(jù)權(quán)利要求19所述的電子設(shè)備,其特征在于,所述處理器具體包括 應(yīng)用集合確定模塊,用于在所述操作系統(tǒng)生成一第一消息時,獲取所述第一應(yīng)用集合和第二應(yīng)用集合; 控制模塊,用于進行消息發(fā)送控制,使所述第一消息在發(fā)送到所述第三應(yīng)用集合的應(yīng)用時,無法同時發(fā)送給所述第二應(yīng)用集合中的應(yīng)用。
全文摘要
本發(fā)明的目的在于提供一種消息處理方法、裝置及電子設(shè)備,該消息處理方法包括在所述操作系統(tǒng)生成一第一消息時,獲取第一應(yīng)用集合和第二應(yīng)用集合,所述第一應(yīng)用集合由滿足所述第一消息的基于第一參數(shù)確定的發(fā)送條件的應(yīng)用組成,所述第二應(yīng)用集合由滿足所述第一消息的基于第二參數(shù)確定的禁止發(fā)送條件的應(yīng)用組成;進行消息發(fā)送控制,使所述第一消息在發(fā)送到第三應(yīng)用集合的應(yīng)用時,無法同時發(fā)送給第二應(yīng)用集合中的應(yīng)用;其中,所述第三應(yīng)用集合為所述第一應(yīng)用集合和所述第二應(yīng)用集合的差集。本發(fā)明提高了操作系統(tǒng)發(fā)送消息的靈活性。
文檔編號G06F9/54GK103034542SQ20111029822
公開日2013年4月10日 申請日期2011年9月30日 優(yōu)先權(quán)日2011年9月30日
發(fā)明者劉永鋒, 阮景春 申請人:聯(lián)想(北京)有限公司