本發(fā)明實(shí)施例涉及系統(tǒng)廣播技術(shù),尤其涉及一種發(fā)送開機(jī)廣播的方法、裝置及終端。
背景技術(shù):
安卓(Android)系統(tǒng)是目前應(yīng)用較為廣泛的一種手機(jī)等終端的操作系統(tǒng)。Android系統(tǒng)中,有很多不同的應(yīng)用程序,為了在不同的應(yīng)用程序中快速的進(jìn)行信息傳遞,Android系統(tǒng)利用廣播機(jī)制來(lái)實(shí)現(xiàn),有消息要通知不同的應(yīng)用程序時(shí),就通過(guò)廣播將這個(gè)消息發(fā)送給不同的應(yīng)用程序。
Android系統(tǒng)開機(jī)初始化階段完成后,會(huì)發(fā)送一個(gè)開機(jī)完成的廣播消息,注冊(cè)了對(duì)這個(gè)開機(jī)完成廣播消息進(jìn)行接收的應(yīng)用程序或模塊,在這個(gè)廣播發(fā)送之后,會(huì)被系統(tǒng)自動(dòng)的啟動(dòng)起來(lái)以便對(duì)這個(gè)廣播進(jìn)行處理。由于在Android系統(tǒng)中,有很多模塊及應(yīng)用程序都注冊(cè)了接收這個(gè)開機(jī)完成的廣播消息,當(dāng)開機(jī)完成發(fā)出開機(jī)完成的廣播消息后,這些注冊(cè)接收該廣播消息的模塊及應(yīng)用程序會(huì)同時(shí)啟動(dòng),導(dǎo)致系統(tǒng)性能開銷非常大,引起系統(tǒng)卡頓。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種發(fā)送開機(jī)廣播的方法、裝置及終端,可以減少系統(tǒng)性能開銷,避免系統(tǒng)卡頓。
第一方面,本發(fā)明實(shí)施例提供了一種發(fā)送開機(jī)廣播的方法,所述方法包括:
在開機(jī)初始化階段完成后,監(jiān)聽(tīng)系統(tǒng)發(fā)出的開機(jī)完成廣播消息;
在監(jiān)聽(tīng)到開機(jī)完成廣播消息時(shí),識(shí)別當(dāng)前所處的開機(jī)完成階段;
根據(jù)所述當(dāng)前所處的開機(jī)完成階段,確定對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者;
將所述開機(jī)完成廣播消息發(fā)送給所述廣播接收者。
第二方面,本發(fā)明實(shí)施例還提供了一種發(fā)送開機(jī)廣播的裝置,所述裝置包括:
開機(jī)廣播監(jiān)聽(tīng)模塊,用于在開機(jī)初始化階段完成后,監(jiān)聽(tīng)系統(tǒng)發(fā)出的開機(jī)完成廣播消息;
開機(jī)階段識(shí)別模塊,用于在監(jiān)聽(tīng)到開機(jī)完成廣播消息時(shí),識(shí)別當(dāng)前所處的開機(jī)完成階段;
廣播接收者確定模塊,用于根據(jù)所述當(dāng)前所處的開機(jī)完成階段,確定對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者;
廣播消息發(fā)送模塊,用于將所述開機(jī)完成廣播消息發(fā)送給所述廣播接收者。
第三方面,本發(fā)明實(shí)施例還提供了一種終端,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)以下步驟:
在開機(jī)初始化階段完成后,監(jiān)聽(tīng)系統(tǒng)發(fā)出的開機(jī)完成廣播消息;
在監(jiān)聽(tīng)到開機(jī)完成廣播消息時(shí),識(shí)別當(dāng)前所處的開機(jī)完成階段;
根據(jù)所述當(dāng)前所處的開機(jī)完成階段,確定對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者;
將所述開機(jī)完成廣播消息發(fā)送給所述廣播接收者。
本發(fā)明實(shí)施例的技術(shù)方案,通過(guò)在開機(jī)初始化階段完成后,監(jiān)聽(tīng)系統(tǒng)發(fā)出的開機(jī)完成廣播消息,在監(jiān)聽(tīng)到開機(jī)完成廣播消息時(shí),識(shí)別當(dāng)前所處的開機(jī)完成階段,根據(jù)當(dāng)前所處的開機(jī)完成階段,確定對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者,將所述開機(jī)完成廣播消息發(fā)送給所述廣播接收者,解決了同時(shí)向所有的廣播接收者發(fā)送開機(jī)完成廣播消息導(dǎo)致廣播接收者短時(shí)間內(nèi)同時(shí)啟動(dòng)導(dǎo)致系統(tǒng)性能開銷大的問(wèn)題,通過(guò)分階段向?qū)?yīng)的廣播接收者發(fā)送開機(jī)完成廣播消息,減少了系統(tǒng)性能開銷,避免了系統(tǒng)卡頓。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例提供的一種發(fā)送開機(jī)廣播的方法的流程圖;
圖2是本發(fā)明一個(gè)實(shí)施例提供的一種發(fā)送開機(jī)廣播的方法的流程圖;
圖3是本發(fā)明一個(gè)實(shí)施例提供的一種發(fā)送開機(jī)廣播的方法的流程圖;
圖4是本發(fā)明實(shí)施例提供的一種發(fā)送開機(jī)廣播的裝置的結(jié)構(gòu)示意圖;
圖5為本發(fā)明實(shí)施例提供的一種終端的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。另外還需要說(shuō)明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部?jī)?nèi)容。
在更加詳細(xì)地討論示例性實(shí)施例之前應(yīng)當(dāng)提到的是,一些示例性實(shí)施例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各步驟描述成順序的處理,但是其中的許多步驟可以被并行地、并發(fā)地或者同時(shí)實(shí)施。此外,各步驟的順序可以被重新安排。當(dāng)其操作完成時(shí)所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對(duì)應(yīng)于方法、函數(shù)、規(guī)程、子例程、子程序等等。
圖1是本發(fā)明實(shí)施例提供的一種發(fā)送開機(jī)廣播的方法的流程圖,本實(shí)施例可適用于分階段發(fā)送開機(jī)廣播的情況,該方法可以由發(fā)送開機(jī)廣播的裝置來(lái)執(zhí)行,其中該裝置可由軟件和/或硬件實(shí)現(xiàn),該裝置可集成于終端中,該終端可以是智能手機(jī)、平板電腦等,該方法包括如下步驟:
步驟110,在開機(jī)初始化階段完成后,監(jiān)聽(tīng)系統(tǒng)發(fā)出的開機(jī)完成廣播消息。
其中,廣播機(jī)制本質(zhì)上是在終端的操作系統(tǒng)中一種組件間的通訊方式,是一種廣泛運(yùn)用在應(yīng)用程序之間傳輸消息的機(jī)制。例如在終端的安卓系統(tǒng)下,有一些操作完成以后,會(huì)發(fā)送廣播消息。廣播消息可以是操作系統(tǒng)中產(chǎn)生的各種各樣的事件消息數(shù)據(jù),比如說(shuō)發(fā)出一條短信或打出一個(gè)電話,都會(huì)發(fā)送廣播,當(dāng)某個(gè)應(yīng)用程序接收了這個(gè)廣播時(shí),就可以做出相應(yīng)的處理。廣播發(fā)送者可以是系統(tǒng)和應(yīng)用程序軟件。應(yīng)用程序軟件可以是安裝于手機(jī)等終端的第三方應(yīng)用軟件或者系統(tǒng)自帶的應(yīng)用程序,例如:安裝于終端的第三方應(yīng)用軟件可以包括微信客戶端、QQ客戶端、淘寶客戶端和支付寶客戶端等,系統(tǒng)自帶的應(yīng)用程序可以包括日歷、時(shí)鐘、天氣和便簽等。廣播消息可以是系統(tǒng)廣播和應(yīng)用廣播,其中,系統(tǒng)廣播可以包括亮屏廣播、息屏廣播、解鎖廣播、網(wǎng)絡(luò)狀態(tài)變化廣播、藍(lán)牙狀態(tài)變化廣播、切換語(yǔ)言廣播、切換主題廣播等,應(yīng)用廣播可以是由應(yīng)用程序軟件發(fā)出的廣播。
開機(jī)初始化階段是接收到開機(jī)指令進(jìn)行供電并做好準(zhǔn)備工作喚醒系統(tǒng)的階段。在開機(jī)初始化階段完成后,可以通過(guò)終端中的廣播管理模塊(如ActivityManagerService)監(jiān)聽(tīng)系統(tǒng)的動(dòng)態(tài),檢測(cè)系統(tǒng)是否發(fā)出開機(jī)完成廣播消息。其中,ActivityManagerService在Android系統(tǒng)的廣播機(jī)制中扮演著廣播中心的角色,負(fù)責(zé)系統(tǒng)中所有廣播的注冊(cè)和發(fā)布操作,其中,廣播的注冊(cè)是指應(yīng)用程序把廣播接收器注冊(cè)到ActivityManagerService的過(guò)程。廣播的發(fā)布包括廣播發(fā)送者將廣播發(fā)送到ActivityManagerService,ActivityManagerService接收到這個(gè)廣播后在自己的注冊(cè)中心查看有哪些廣播接收器訂閱了該廣播,然后把這個(gè)廣播逐一發(fā)送到這些廣播接收器中。在Android系統(tǒng)中,監(jiān)聽(tīng)系統(tǒng)發(fā)出的開機(jī)完成廣播消息即通過(guò)ActivityManagerService來(lái)監(jiān)聽(tīng)系統(tǒng)是否將開機(jī)完成廣播消息發(fā)送到ActivityManagerService,當(dāng)通過(guò)ActivityManagerService監(jiān)聽(tīng)到系統(tǒng)將開機(jī)完成廣播消息發(fā)送到ActivityManagerService時(shí),確定監(jiān)聽(tīng)到系統(tǒng)發(fā)出了開機(jī)完成廣播消息。
步驟120,在監(jiān)聽(tīng)到開機(jī)完成廣播消息時(shí),識(shí)別當(dāng)前所處的開機(jī)完成階段。
其中,開機(jī)完成階段即開機(jī)初始化階段完成后來(lái)啟動(dòng)系統(tǒng)應(yīng)用或者第三方應(yīng)用的階段??筛鶕?jù)需要?jiǎng)澐譃槎鄠€(gè)階段,在相應(yīng)階段啟動(dòng)相應(yīng)的應(yīng)用程序。所述開機(jī)完成階段優(yōu)選包括系統(tǒng)服務(wù)初始化完成階段、桌面和鎖屏初始化完成階段或初始化完成后空閑階段。
可以預(yù)先設(shè)置開機(jī)完成階段對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者(即待啟動(dòng)的系統(tǒng)應(yīng)用或者第三方應(yīng)用)。在監(jiān)聽(tīng)到開機(jī)完成廣播消息時(shí),查詢注冊(cè)中心有哪些應(yīng)用程序注冊(cè)接收該開機(jī)完成廣播消息,并識(shí)別當(dāng)前所處的開機(jī)完成階段。例如,每個(gè)開機(jī)完成階段可以預(yù)設(shè)相應(yīng)的時(shí)間,從而可以從監(jiān)聽(tīng)到開機(jī)完成廣播消息的時(shí)間開始算起,識(shí)別到當(dāng)前所處的開機(jī)完成階段。還可以在監(jiān)聽(tīng)到開機(jī)完成廣播消息時(shí),為第一開機(jī)完成階段,發(fā)送完需要在該第一開機(jī)完成階段發(fā)送的開機(jī)完成廣播消息后進(jìn)入第二開機(jī)完成階段,發(fā)送完需要在第二開機(jī)完成階段發(fā)送的開機(jī)完成廣播消息后進(jìn)入第三開機(jī)完成階段,以此類推,直到發(fā)送完所有開機(jī)完成階段需要發(fā)送的開機(jī)完成廣播消息。
步驟130,根據(jù)所述當(dāng)前所處的開機(jī)完成階段,確定對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者。
根據(jù)預(yù)先設(shè)置的開機(jī)完成階段對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者,再結(jié)合當(dāng)前所處的開機(jī)完成階段,可以確定對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者。
其中,系統(tǒng)服務(wù)初始化完成階段主要啟動(dòng)系統(tǒng)服務(wù)相關(guān)的應(yīng)用程序,這時(shí)將開機(jī)完成廣播消息發(fā)送給這些應(yīng)用程序;桌面和鎖屏初始化完成階段主要啟動(dòng)桌面和鎖屏相關(guān)的應(yīng)用程序,這時(shí)將開機(jī)完成廣播消息發(fā)送給這些應(yīng)用程序;初始化完成后空閑階段主要啟動(dòng)第三方應(yīng)用程序,這時(shí)將開機(jī)完成廣播消息發(fā)送給這些應(yīng)用程序。
例如,在剛監(jiān)聽(tīng)到開機(jī)完成廣播消息時(shí),識(shí)別當(dāng)前所處的開機(jī)完成階段為系統(tǒng)服務(wù)初始化完成階段,這時(shí)將開機(jī)完成廣播消息發(fā)送給對(duì)應(yīng)在這個(gè)階段啟動(dòng)的應(yīng)用程序(如電話應(yīng)用模塊、狀態(tài)欄模塊和系統(tǒng)設(shè)置模塊等);該系統(tǒng)服務(wù)初始化階段的開機(jī)完成廣播消息發(fā)送完畢后進(jìn)入桌面和鎖屏初始化完成階段,這時(shí)將開機(jī)完成廣播消息發(fā)送給對(duì)應(yīng)在這個(gè)階段啟動(dòng)的應(yīng)用程序(如聯(lián)系人、日歷等);桌面和鎖屏初始化完成階段的開機(jī)完成廣播消息發(fā)送完畢后進(jìn)入初始化完成后空閑階段,這時(shí)將開機(jī)完成廣播消息發(fā)送給對(duì)應(yīng)在這個(gè)階段啟動(dòng)的應(yīng)用程序(如微信、郵件等)。
步驟140,將所述開機(jī)完成廣播消息發(fā)送給所述廣播接收者。
在確定了當(dāng)前所處的開機(jī)完成階段對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者后,將所述開機(jī)完成廣播消息發(fā)送給對(duì)應(yīng)的廣播接收者。
本實(shí)施例的技術(shù)方案,通過(guò)在開機(jī)初始化階段完成后,監(jiān)聽(tīng)系統(tǒng)發(fā)出的開機(jī)完成廣播消息,在監(jiān)聽(tīng)到開機(jī)完成廣播消息時(shí),識(shí)別當(dāng)前所處的開機(jī)完成階段,根據(jù)當(dāng)前所處的開機(jī)完成階段,確定對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者,將所述開機(jī)完成廣播消息發(fā)送給所述廣播接收者,解決了同時(shí)向所有的廣播接收者發(fā)送開機(jī)完成廣播消息導(dǎo)致廣播接收者短時(shí)間內(nèi)同時(shí)啟動(dòng)導(dǎo)致系統(tǒng)性能開銷大的問(wèn)題,通過(guò)分階段向?qū)?yīng)的廣播接收者發(fā)送開機(jī)完成廣播消息,減少了系統(tǒng)性能開銷,避免了系統(tǒng)卡頓。
在上述技術(shù)方案的基礎(chǔ)上,在將所述開機(jī)完成廣播消息發(fā)送給所述廣播接收者之后,還包括:
啟動(dòng)所述廣播接收者。
在將開機(jī)完成廣播消息發(fā)送給當(dāng)前所處的開機(jī)完成階段對(duì)應(yīng)的廣播接收者后,啟動(dòng)所述廣播接收者,即可以分階段啟動(dòng)不同的廣播接收者,避免了所有的廣播接收者同時(shí)啟動(dòng),進(jìn)一步減少了系統(tǒng)性能開銷。
圖2是本發(fā)明一個(gè)實(shí)施例提供的一種發(fā)送開機(jī)廣播的方法的流程圖,本實(shí)施所述的方法包括如下步驟:
步驟210,在開機(jī)初始化階段完成后,監(jiān)聽(tīng)系統(tǒng)發(fā)出的開機(jī)完成廣播消息。
步驟220,在監(jiān)聽(tīng)到開機(jī)完成廣播消息時(shí),識(shí)別當(dāng)前所處的開機(jī)完成階段。
步驟230,獲取預(yù)先建立的開機(jī)完成階段與模塊啟動(dòng)優(yōu)先級(jí)的對(duì)應(yīng)關(guān)系。
其中,模塊啟動(dòng)優(yōu)先級(jí)定義了在開機(jī)完成階段待啟動(dòng)的應(yīng)用程序的優(yōu)先級(jí)。模塊啟動(dòng)優(yōu)先級(jí)的級(jí)數(shù)大于或者等于開機(jī)完成階段的階段數(shù),從而在相應(yīng)的開機(jī)完成階段啟動(dòng)對(duì)應(yīng)模塊啟動(dòng)優(yōu)先級(jí)的應(yīng)用程序。示例性的,在開機(jī)完成階段包括三個(gè)階段時(shí),可以按照開機(jī)啟動(dòng)的應(yīng)用程序的重要程度將待啟動(dòng)的應(yīng)用程序的優(yōu)先級(jí)劃分為三個(gè)不同的模塊啟動(dòng)優(yōu)先級(jí),從而三個(gè)不同的模塊啟動(dòng)優(yōu)先級(jí)分別對(duì)應(yīng)三個(gè)不同的開機(jī)完成階段,即模塊啟動(dòng)優(yōu)先級(jí)與開機(jī)完成階段一一對(duì)應(yīng)。
可以預(yù)先建立開機(jī)完成階段與模塊啟動(dòng)優(yōu)先級(jí)的對(duì)應(yīng)關(guān)系,并設(shè)置開機(jī)完成階段待啟動(dòng)的應(yīng)用程序所具有的模塊啟動(dòng)優(yōu)先級(jí)。
步驟240,根據(jù)所述當(dāng)前所處的開機(jī)完成階段和所述對(duì)應(yīng)關(guān)系,確定當(dāng)前所處的開機(jī)完成階段對(duì)應(yīng)的模塊啟動(dòng)優(yōu)先級(jí)。
在確定了當(dāng)前所處的開機(jī)完成階段后,可以結(jié)合預(yù)先建立的開機(jī)完成階段與模塊啟動(dòng)優(yōu)先級(jí)的對(duì)應(yīng)關(guān)系,確定當(dāng)前所處的開機(jī)完成階段對(duì)應(yīng)的模塊啟動(dòng)優(yōu)先級(jí)。
步驟250,根據(jù)所述模塊啟動(dòng)優(yōu)先級(jí),確定對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者。
獲取預(yù)先設(shè)置的開機(jī)完成階段待啟動(dòng)的應(yīng)用程序(開機(jī)完成廣播消息的廣播接收者)的模塊啟動(dòng)優(yōu)先級(jí),根據(jù)確定的當(dāng)前所處的開機(jī)完成階段對(duì)應(yīng)的模塊啟動(dòng)優(yōu)先級(jí),查詢具有該模塊啟動(dòng)優(yōu)先級(jí)的廣播接收者,從而確定該模塊啟動(dòng)優(yōu)先級(jí)對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者。
本實(shí)施例的技術(shù)方案,通過(guò)預(yù)先建立開機(jī)完成階段與模塊啟動(dòng)優(yōu)先級(jí)的對(duì)應(yīng)關(guān)系,在確定了當(dāng)前所處的開機(jī)完成階段后,結(jié)合所述對(duì)應(yīng)關(guān)系確定當(dāng)前所處的開機(jī)完成階段對(duì)應(yīng)的模塊啟動(dòng)優(yōu)先級(jí),根據(jù)模塊啟動(dòng)優(yōu)先級(jí)確定對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者,加快了在相應(yīng)開機(jī)完成階段確定對(duì)應(yīng)廣播接收者的速度,從而加快了開機(jī)完成廣播消息的處理速度。
圖3是本發(fā)明一個(gè)實(shí)施例提供的一種發(fā)送開機(jī)廣播的方法的流程圖,本實(shí)施所述的方法包括如下步驟:
步驟310,在開機(jī)初始化階段完成后,監(jiān)聽(tīng)系統(tǒng)發(fā)出的開機(jī)完成廣播消息。
步驟320,在監(jiān)聽(tīng)到開機(jī)完成廣播消息時(shí),識(shí)別當(dāng)前所處的開機(jī)完成階段。
步驟330,獲取預(yù)先建立的開機(jī)完成階段與接收開機(jī)完成廣播消息的廣播接收者的應(yīng)用屬性的對(duì)應(yīng)關(guān)系。
其中,應(yīng)用屬性是在開機(jī)完成階段待啟動(dòng)的應(yīng)用程序具有的屬性,如系統(tǒng)重要應(yīng)用(如電話應(yīng)用模塊、狀態(tài)欄模塊、系統(tǒng)設(shè)置等)、系統(tǒng)基礎(chǔ)應(yīng)用(如聯(lián)系人、日歷等)、第三方應(yīng)用(如微信、郵件等)等。
可以預(yù)先建立開機(jī)完成階段與接收開機(jī)完成廣播消息的廣播接收者的應(yīng)用屬性的對(duì)應(yīng)關(guān)系,并明確開機(jī)完成階段待啟動(dòng)的應(yīng)用程序所具有的應(yīng)用屬性。
步驟340,根據(jù)所述當(dāng)前所處的開機(jī)完成階段和所述對(duì)應(yīng)關(guān)系,確定當(dāng)前所處的開機(jī)完成階段對(duì)應(yīng)的應(yīng)用屬性。
在確定了當(dāng)前所處的開機(jī)完成階段后,可以結(jié)合預(yù)先建立的開機(jī)完成階段與應(yīng)用屬性的對(duì)應(yīng)關(guān)系,確定當(dāng)前所處的開機(jī)完成階段對(duì)應(yīng)的應(yīng)用屬性。
步驟350,根據(jù)所述應(yīng)用屬性,確定對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者。
根據(jù)所述應(yīng)用屬性,在接收開完廣播消息的所有廣播接收者中查詢具有所述應(yīng)用屬性的廣播接收者為當(dāng)前所處的開機(jī)完成階段對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者。
在一個(gè)實(shí)施例中,根據(jù)所述應(yīng)用屬性,確定對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者,可選包括:
統(tǒng)計(jì)當(dāng)前注冊(cè)了接收開機(jī)完成廣播消息的廣播接收者;
確定當(dāng)前注冊(cè)的廣播接收者中具有所述應(yīng)用屬性的廣播接收者為對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者。
可以在確定了當(dāng)前所處的開機(jī)完成階段時(shí),統(tǒng)計(jì)當(dāng)前注冊(cè)了接收開機(jī)完成廣播消息的廣播接收者,這些廣播接收者中具有所述應(yīng)用屬性的廣播接收者為當(dāng)前所處的開機(jī)完成階段對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者。
本實(shí)施例的技術(shù)方案,通過(guò)預(yù)先建立開機(jī)完成階段與接收開機(jī)完成廣播消息的廣播接收者的對(duì)應(yīng)關(guān)系,在確定了當(dāng)前所處的開機(jī)完成階段后,結(jié)合所述對(duì)應(yīng)關(guān)系確定當(dāng)前所處的開機(jī)完成階段對(duì)應(yīng)的應(yīng)用屬性,根據(jù)應(yīng)用屬性確定對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者,加快了在相應(yīng)開機(jī)完成階段確定對(duì)應(yīng)廣播接收者的速度,從而加快了開機(jī)完成廣播消息的處理速度。
圖4是本發(fā)明實(shí)施例提供的一種發(fā)送開機(jī)廣播的裝置的結(jié)構(gòu)示意圖,如圖4所示,本實(shí)施所述的發(fā)送開機(jī)廣播的裝置包括:開機(jī)廣播監(jiān)聽(tīng)模塊410、開機(jī)階段識(shí)別模塊420、廣播接收者確定模塊430和廣播消息發(fā)送模塊440。
其中,開機(jī)廣播監(jiān)聽(tīng)模塊410,用于在開機(jī)初始化階段完成后,監(jiān)聽(tīng)系統(tǒng)發(fā)出的開機(jī)完成廣播消息;
開機(jī)階段識(shí)別模塊420,用于在監(jiān)聽(tīng)到開機(jī)完成廣播消息時(shí),識(shí)別當(dāng)前所處的開機(jī)完成階段;
廣播接收者確定模塊430,用于根據(jù)所述當(dāng)前所處的開機(jī)完成階段,確定對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者;
廣播消息發(fā)送模塊440,用于將所述開機(jī)完成廣播消息發(fā)送給所述廣播接收者。
可選的,所述廣播接收者確定模塊包括:
第一對(duì)應(yīng)關(guān)系獲取單元,用于獲取預(yù)先建立的開機(jī)完成階段與模塊啟動(dòng)優(yōu)先級(jí)的對(duì)應(yīng)關(guān)系;
啟動(dòng)優(yōu)先級(jí)確定單元,用于根據(jù)所述當(dāng)前所處的開機(jī)完成階段和所述對(duì)應(yīng)關(guān)系,確定當(dāng)前所處的開機(jī)完成階段對(duì)應(yīng)的模塊啟動(dòng)優(yōu)先級(jí);
第一廣播接收者確定單元,用于根據(jù)所述模塊啟動(dòng)優(yōu)先級(jí),確定對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者。
可選的,所述廣播接收者確定模塊包括:
第二對(duì)應(yīng)關(guān)系獲取單元,用于獲取預(yù)先建立的開機(jī)完成階段與接收開機(jī)完成廣播消息的廣播接收者的應(yīng)用屬性的對(duì)應(yīng)關(guān)系;
應(yīng)用屬性確定單元,用于根據(jù)所述當(dāng)前所處的開機(jī)完成階段和所述對(duì)應(yīng)關(guān)系,確定當(dāng)前所處的開機(jī)完成階段對(duì)應(yīng)的應(yīng)用屬性;
第二廣播接收者確定單元,用于根據(jù)所述應(yīng)用屬性,確定對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者。
可選的,所述第二廣播接收者確定單元具體用于:
統(tǒng)計(jì)當(dāng)前注冊(cè)了接收開機(jī)完成廣播消息的廣播接收者;
確定當(dāng)前注冊(cè)的廣播接收者中具有所述應(yīng)用屬性的廣播接收者為對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者。
可選的,還包括:
廣播接收者啟動(dòng)模塊,用于在將所述開機(jī)完成廣播消息發(fā)送給所述廣播接收者之后,啟動(dòng)所述廣播接收者。
可選的,所述開機(jī)完成階段包括系統(tǒng)服務(wù)初始化完成階段、桌面和鎖屏初始化完成階段或初始化完成后空閑階段。
上述發(fā)送開機(jī)廣播的裝置可執(zhí)行本發(fā)明任意實(shí)施例所提供的發(fā)送開機(jī)廣播的方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。未在本實(shí)施例中詳盡描述的技術(shù)細(xì)節(jié),可參見(jiàn)本發(fā)明任意實(shí)施例提供的發(fā)送開機(jī)廣播的方法。
本發(fā)明實(shí)施例還提供了一種終端,該終端可以包括本發(fā)明任意實(shí)施例提供的發(fā)送開機(jī)廣播的裝置。圖5為本發(fā)明實(shí)施例提供的一種終端的結(jié)構(gòu)示意圖,如圖5所示,該終端可以包括:殼體(圖中未示出)、存儲(chǔ)器501、中央處理器(Central Processing Unit,CPU)502(又稱處理器,以下簡(jiǎn)稱CPU)、存儲(chǔ)在存儲(chǔ)器501上并可在處理器502上運(yùn)行的計(jì)算機(jī)程序、電路板(圖中未示出)和電源電路(圖中未示出)。所述電路板安置在所述殼體圍成的空間內(nèi)部;所述CPU502和所述存儲(chǔ)器501設(shè)置在所述電路板上;所述電源電路,用于為所述終端的各個(gè)電路或器件供電;所述存儲(chǔ)器501,用于存儲(chǔ)可在處理器上運(yùn)行的計(jì)算機(jī)程序;所述CPU402通過(guò)讀取并執(zhí)行所述存儲(chǔ)器501中存儲(chǔ)的計(jì)算機(jī)程序。
該終端還包括:外設(shè)接口503、RF(Radio Frequency,射頻)電路505、音頻電路506、揚(yáng)聲器511、電源管理芯片508、輸入/輸出(I/O)子系統(tǒng)509、觸摸屏512、其他輸入/控制設(shè)備510以及外部端口504,這些部件通過(guò)一個(gè)或多個(gè)通信總線或信號(hào)線507來(lái)通信。
應(yīng)該理解的是,圖示終端500僅僅是終端的一個(gè)范例,并且終端500可以具有比圖中所示出的更多的或者更少的部件,可以組合兩個(gè)或更多的部件,或者可以具有不同的部件配置。圖中所示出的各種部件可以在包括一個(gè)或多個(gè)信號(hào)處理和/或?qū)S眉呻娐吩趦?nèi)的硬件、軟件、或硬件和軟件的組合中實(shí)現(xiàn)。
下面就本實(shí)施例提供的用于發(fā)送開機(jī)廣播的終端進(jìn)行詳細(xì)的描述,該終端以手機(jī)為例。
存儲(chǔ)器501,所述存儲(chǔ)器501可以被CPU502、外設(shè)接口503等訪問(wèn),所述存儲(chǔ)器501可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如一個(gè)或多個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。
外設(shè)接口503,所述外設(shè)接口503可以將設(shè)備的輸入和輸出外設(shè)連接到CPU502和存儲(chǔ)器501。
I/O子系統(tǒng)509,所述I/O子系統(tǒng)509可以將設(shè)備上的輸入輸出外設(shè),例如觸摸屏512(相當(dāng)于上述實(shí)施例中的屏幕)和其他輸入/控制設(shè)備510,連接到外設(shè)接口503。I/O子系統(tǒng)509可以包括顯示控制器5091和用于控制其他輸入/控制設(shè)備510的一個(gè)或多個(gè)輸入控制器5092。其中,一個(gè)或多個(gè)輸入控制器5092從其他輸入/控制設(shè)備510接收電信號(hào)或者向其他輸入/控制設(shè)備510發(fā)送電信號(hào),其他輸入/控制設(shè)備510可以包括物理按鈕(按壓按鈕、搖臂按鈕等)、撥號(hào)盤、滑動(dòng)開關(guān)、操縱桿、點(diǎn)擊滾輪。值得說(shuō)明的是,輸入控制器5092可以與以下任一個(gè)連接:鍵盤、紅外端口、USB接口以及諸如鼠標(biāo)的指示設(shè)備。
觸摸屏512,所述觸摸屏512是用戶終端與用戶之間的輸入接口和輸出接口,將可視輸出顯示給用戶,可視輸出可以包括圖形、文本、圖標(biāo)、視頻等。
I/O子系統(tǒng)509中的顯示控制器5091從觸摸屏512接收電信號(hào)或者向觸摸屏512發(fā)送電信號(hào)。觸摸屏512檢測(cè)觸摸屏上的接觸,顯示控制器5091將檢測(cè)到的接觸轉(zhuǎn)換為與顯示在觸摸屏512上的用戶界面對(duì)象的交互,即實(shí)現(xiàn)人機(jī)交互,顯示在觸摸屏512上的用戶界面對(duì)象可以是運(yùn)行游戲的圖標(biāo)、聯(lián)網(wǎng)到相應(yīng)網(wǎng)絡(luò)的圖標(biāo)等。值得說(shuō)明的是,設(shè)備還可以包括光鼠,光鼠是不顯示可視輸出的觸摸敏感表面,或者是由觸摸屏形成的觸摸敏感表面的延伸。
RF電路505,主要用于建立手機(jī)與無(wú)線網(wǎng)絡(luò)(即網(wǎng)絡(luò)側(cè))的通信,實(shí)現(xiàn)手機(jī)與無(wú)線網(wǎng)絡(luò)的數(shù)據(jù)接收和發(fā)送。例如收發(fā)短信息、電子郵件等。具體地,RF電路505接收并發(fā)送RF信號(hào),RF信號(hào)也稱為電磁信號(hào),RF電路505將電信號(hào)轉(zhuǎn)換為電磁信號(hào)或?qū)㈦姶判盘?hào)轉(zhuǎn)換為電信號(hào),并且通過(guò)該電磁信號(hào)與通信網(wǎng)絡(luò)以及其他設(shè)備進(jìn)行通信。RF電路505可以包括用于執(zhí)行這些功能的已知電路,其包括但不限于天線系統(tǒng)、RF收發(fā)機(jī)、一個(gè)或多個(gè)放大器、調(diào)諧器、一個(gè)或多個(gè)振蕩器、數(shù)字信號(hào)處理器、CODEC(COder-DECoder,編譯碼器)芯片組、用戶標(biāo)識(shí)模塊(Subscriber Identity Module,SIM)等等。
音頻電路506,主要用于從外設(shè)接口503接收音頻數(shù)據(jù),將該音頻數(shù)據(jù)轉(zhuǎn)換為電信號(hào),并且將該電信號(hào)發(fā)送給揚(yáng)聲器511。
揚(yáng)聲器511,用于將手機(jī)通過(guò)RF電路505從無(wú)線網(wǎng)絡(luò)接收的語(yǔ)音信號(hào),還原為聲音并向用戶播放該聲音。
電源管理芯片508,用于為CPU502、I/O子系統(tǒng)及外設(shè)接口所連接的硬件進(jìn)行供電及電源管理。
本發(fā)明實(shí)施例提供的CPU502在執(zhí)行所述存儲(chǔ)器501中存儲(chǔ)的計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)以下步驟:
在開機(jī)初始化階段完成后,監(jiān)聽(tīng)系統(tǒng)發(fā)出的開機(jī)完成廣播消息;
在監(jiān)聽(tīng)到開機(jī)完成廣播消息時(shí),識(shí)別當(dāng)前所處的開機(jī)完成階段;
根據(jù)所述當(dāng)前所處的開機(jī)完成階段,確定對(duì)應(yīng)的接收開機(jī)完成廣播消息的廣播接收者;
將所述開機(jī)完成廣播消息發(fā)送給所述廣播接收者。
上述終端可執(zhí)行本發(fā)明任意實(shí)施例所提供的方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。
注意,上述僅為本發(fā)明的較佳實(shí)施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會(huì)理解,本發(fā)明不限于這里所述的特定實(shí)施例,對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō)能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會(huì)脫離本發(fā)明的保護(hù)范圍。因此,雖然通過(guò)以上實(shí)施例對(duì)本發(fā)明進(jìn)行了較為詳細(xì)的說(shuō)明,但是本發(fā)明不僅僅限于以上實(shí)施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。