本發(fā)明實(shí)施例涉及操作系統(tǒng)領(lǐng)域,特別涉及一種活動(dòng)監(jiān)控方法及裝置。
背景技術(shù):
在一些情況下,用戶(hù)為了更好地使用終端設(shè)備中安裝的應(yīng)用程序,會(huì)使用系統(tǒng)增強(qiáng)類(lèi)應(yīng)用程序,由系統(tǒng)增強(qiáng)類(lèi)應(yīng)用程序?qū)μ幱谇芭_(tái)運(yùn)行的應(yīng)用程序進(jìn)行監(jiān)控,并在前臺(tái)運(yùn)行的應(yīng)用程序是指定應(yīng)用程序時(shí),執(zhí)行系統(tǒng)增強(qiáng)功能。以系統(tǒng)增強(qiáng)類(lèi)應(yīng)用程序是游戲加速類(lèi)應(yīng)用程序?yàn)槔脩?hù)安裝有游戲應(yīng)用程序和游戲加速類(lèi)應(yīng)用程序,當(dāng)游戲加速類(lèi)應(yīng)用程序監(jiān)控到游戲應(yīng)用程序處于前臺(tái)運(yùn)行時(shí),引導(dǎo)用戶(hù)啟用游戲加速類(lèi)應(yīng)用程序,對(duì)游戲應(yīng)用程序進(jìn)行加速。
通常情況下,系統(tǒng)增強(qiáng)類(lèi)應(yīng)用程序采用主動(dòng)輪詢(xún)的方式監(jiān)控處于前臺(tái)運(yùn)行的應(yīng)用程序。具體來(lái)講,系統(tǒng)增強(qiáng)類(lèi)應(yīng)用程序每隔預(yù)定時(shí)間向終端設(shè)備的操作系統(tǒng)發(fā)送獲取請(qǐng)求,再由操作系統(tǒng)根據(jù)該獲取請(qǐng)求向系統(tǒng)增強(qiáng)類(lèi)應(yīng)用程序發(fā)送前臺(tái)運(yùn)行活動(dòng)(Activity),系統(tǒng)增強(qiáng)類(lèi)應(yīng)用程序根據(jù)前臺(tái)運(yùn)行活動(dòng)來(lái)確定處于前臺(tái)運(yùn)行的應(yīng)用程序。其中,活動(dòng)是一種包含用戶(hù)界面的組件,用于實(shí)現(xiàn)與用戶(hù)之間的交互,每個(gè)應(yīng)用程序可以包括多個(gè)活動(dòng)。前臺(tái)運(yùn)行活動(dòng)是與位于最上層的用戶(hù)界面(用戶(hù)在屏幕上看到的用戶(hù)界面)相對(duì)應(yīng)的組件。
在上述監(jiān)控過(guò)程中,由于輪詢(xún)時(shí)間間隔難以把握,當(dāng)輪詢(xún)時(shí)間間隔較小即詢(xún)問(wèn)頻率較高時(shí),如果前臺(tái)運(yùn)行活動(dòng)沒(méi)有發(fā)生變化,則系統(tǒng)增強(qiáng)類(lèi)應(yīng)用程序連續(xù)多次獲取到的活動(dòng)都是相同的,由于每次詢(xún)問(wèn)都會(huì)耗費(fèi)CPU的時(shí)間資源,在詢(xún)問(wèn)頻率較高時(shí)會(huì)造成CPU的時(shí)間資源的浪費(fèi);當(dāng)輪詢(xún)時(shí)間間隔較大即詢(xún)問(wèn)頻率較低時(shí),系統(tǒng)增強(qiáng)類(lèi)應(yīng)用程序連續(xù)多次獲取到的活動(dòng)也可能是相同的,比如:系統(tǒng)增強(qiáng)類(lèi)應(yīng)用程序在第一時(shí)刻監(jiān)控到前臺(tái)運(yùn)行活動(dòng)為第一活動(dòng),在第二時(shí)刻監(jiān)控到前臺(tái)運(yùn)行活動(dòng)為第一活動(dòng),而在第一時(shí)刻和第二時(shí)刻之間的這段時(shí)間內(nèi),前臺(tái)運(yùn)行活動(dòng)從第一活動(dòng)切換為第二活動(dòng),又從第二活動(dòng)切換為第一活動(dòng),則系統(tǒng)增強(qiáng)類(lèi)應(yīng)用程序未能檢測(cè)到這期間的活動(dòng)變化,造成監(jiān)控結(jié)果不準(zhǔn)確的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有技術(shù)的問(wèn)題,本發(fā)明實(shí)施例提供了一種活動(dòng)監(jiān)控方法及裝置。所述技術(shù)方案如下:
第一方面,提供了一種活動(dòng)監(jiān)控方法,該方法包括:
通過(guò)應(yīng)用程序接收輔助功能發(fā)送的系統(tǒng)用戶(hù)界面UI事件;所述系統(tǒng)UI事件攜帶有變化后的前臺(tái)運(yùn)行活動(dòng)的活動(dòng)數(shù)據(jù),所述輔助功能是所述應(yīng)用程序預(yù)先向操作系統(tǒng)開(kāi)啟的功能,所述輔助功能用于監(jiān)控前臺(tái)運(yùn)行活動(dòng)是否發(fā)生變化,所述前臺(tái)運(yùn)行活動(dòng)用于指示最上層的用戶(hù)界面;
通過(guò)所述應(yīng)用程序根據(jù)所述系統(tǒng)UI事件,確定所述變化后的前臺(tái)運(yùn)行活動(dòng);
在所述變化后的前臺(tái)運(yùn)行活動(dòng)是目標(biāo)活動(dòng)活動(dòng)時(shí),執(zhí)行與所述目標(biāo)活動(dòng)活動(dòng)對(duì)應(yīng)的處理操作。
第二方面,提供了一種活動(dòng)監(jiān)控裝置,該裝置包括:
事件接收模塊,用于通過(guò)應(yīng)用程序接收輔助功能發(fā)送的系統(tǒng)用戶(hù)界面UI事件;所述系統(tǒng)UI事件攜帶有變化后的前臺(tái)運(yùn)行活動(dòng)的事件數(shù)據(jù),所述輔助功能是所述應(yīng)用程序預(yù)先向操作系統(tǒng)開(kāi)啟的功能,所述輔助功能用于監(jiān)控前臺(tái)運(yùn)行活動(dòng)是否發(fā)生變化,所述前臺(tái)運(yùn)行活動(dòng)用于指示最上層的用戶(hù)界面;
事件確定模塊,用于通過(guò)所述應(yīng)用程序根據(jù)所述系統(tǒng)UI事件,確定所述變化后的前臺(tái)運(yùn)行活動(dòng);
操作執(zhí)行模塊,用于在所述變化后的前臺(tái)運(yùn)行活動(dòng)是目標(biāo)活動(dòng)時(shí),執(zhí)行與所述目標(biāo)活動(dòng)對(duì)應(yīng)的處理操作。
本發(fā)明實(shí)施例至少包括如下技術(shù)效果:
通過(guò)操作系統(tǒng)中的輔助功能監(jiān)控前臺(tái)運(yùn)行活動(dòng)是否發(fā)生變化,當(dāng)前臺(tái)運(yùn)行活動(dòng)發(fā)生變化時(shí),輔助功能向應(yīng)用程序發(fā)送系統(tǒng)UI事件,應(yīng)用程序根據(jù)系統(tǒng)UI事件確定變化后的前臺(tái)運(yùn)行活動(dòng),在變化后的前臺(tái)運(yùn)行活動(dòng)是目標(biāo)活動(dòng)時(shí)執(zhí)行與目標(biāo)活動(dòng)對(duì)應(yīng)的處理操作,由于在監(jiān)控到前臺(tái)運(yùn)行活動(dòng)發(fā)生變化時(shí),輔助功能會(huì)向應(yīng)用程序發(fā)送系統(tǒng)UI事件,不需要應(yīng)用程序主動(dòng)獲取前臺(tái)運(yùn)行活動(dòng),避免出現(xiàn)詢(xún)問(wèn)時(shí)間間隔不合適導(dǎo)致浪費(fèi)CPU的時(shí)間片以及監(jiān)控結(jié)果不準(zhǔn)確的問(wèn)題;達(dá)到了既能準(zhǔn)確地監(jiān)控前臺(tái)運(yùn)行活動(dòng),同時(shí)不會(huì)浪費(fèi)CPU的時(shí)間片,從而保證系統(tǒng)性能的效果。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一個(gè)示例性實(shí)施例提供的活動(dòng)監(jiān)控方法的流程圖;
圖2是本發(fā)明另一個(gè)示例性實(shí)施例提供的活動(dòng)監(jiān)控方法的流程圖;
圖3是本發(fā)明另一個(gè)示例性實(shí)施例提供的應(yīng)用程序在操作系統(tǒng)中開(kāi)啟輔助功能的原理示意圖;
圖4是本發(fā)明另一個(gè)示例性實(shí)施例提供的活動(dòng)監(jiān)控方法的實(shí)施示意圖;
圖5是本發(fā)明另一個(gè)示例性實(shí)施例提供的活動(dòng)監(jiān)控方法的實(shí)施示意圖;
圖6是本發(fā)明另一個(gè)示例性實(shí)施例提供的活動(dòng)監(jiān)控方法的實(shí)施示意圖;
圖7是本發(fā)明一個(gè)示例性實(shí)施例提供的活動(dòng)監(jiān)控裝置的框圖;
圖8是本發(fā)明一個(gè)示例性實(shí)施例提供的終端設(shè)備的框圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
本發(fā)明實(shí)施例可以由采用Android(安卓)操作系統(tǒng)的智能終端來(lái)實(shí)現(xiàn),該智能終端可以是諸如智能手機(jī)、智能電視、平板電腦之類(lèi)的電子設(shè)備。
請(qǐng)參考圖1,其示出了本發(fā)明一個(gè)示例性實(shí)施例提供的活動(dòng)監(jiān)控方法的流程圖。本實(shí)施例以該活動(dòng)監(jiān)控方法應(yīng)用于采用Android操作系統(tǒng)的智能終端中來(lái)舉例說(shuō)明,如圖1所示,該活動(dòng)監(jiān)控方法包括以下步驟:
步驟101,通過(guò)應(yīng)用程序接收輔助功能發(fā)送的系統(tǒng)UI事件。
輔助功能(Accessibility)由Android操作系統(tǒng)提供。在A(yíng)ndroid操作系統(tǒng)中,輔助功能用于幫助用戶(hù)更加簡(jiǎn)單地操作終端,輔助功能包括文字轉(zhuǎn)語(yǔ)音、觸覺(jué)反饋、手勢(shì)操作、軌跡球、手柄操作等多種功能,以及開(kāi)發(fā)者可以搭建自己所需的輔助功能來(lái)增加應(yīng)用程序的可用性,比如:聲音提示、物理反饋、監(jiān)控前臺(tái)運(yùn)行活動(dòng)等其他可選的操作模式。
本發(fā)明提供的實(shí)施例中,該輔助功能是應(yīng)用程序預(yù)先向操作系統(tǒng)開(kāi)啟的功能,該輔助功能用于監(jiān)控前臺(tái)運(yùn)行活動(dòng)是否發(fā)生變化。
在輔助功能監(jiān)控到前臺(tái)運(yùn)行活動(dòng)發(fā)生變化時(shí),輔助功能向應(yīng)用程序發(fā)送系統(tǒng)UI事件。
活動(dòng)是一種包含用戶(hù)界面的組件,用于實(shí)現(xiàn)與用戶(hù)之間的交互,每個(gè)應(yīng)用程序可以包括多個(gè)活動(dòng)。前臺(tái)運(yùn)行活動(dòng)是位于最上層的用戶(hù)界面相對(duì)應(yīng)的組件。最上層的用戶(hù)界面是用戶(hù)在使用終端時(shí)在屏幕上看見(jiàn)的用戶(hù)界面。
比如:終端的用戶(hù)界面顯示的某游戲應(yīng)用程序的啟動(dòng)界面,即前臺(tái)運(yùn)行活動(dòng)是某游戲應(yīng)用程序正在啟動(dòng);或者,終端的用戶(hù)界面顯示的是支付某商品的支付界面,即前臺(tái)運(yùn)行活動(dòng)是對(duì)某商品進(jìn)行支付。
又比如:用戶(hù)界面中原本顯示的是微信朋友圈,用戶(hù)返回微信聊天界面,用戶(hù)界面切換為微信聊天界面,前臺(tái)運(yùn)行活動(dòng)從微信朋友圈變?yōu)槲⑿帕奶欤换蛘?,用?hù)界面中原本顯示的是某購(gòu)物網(wǎng)站,用戶(hù)在某購(gòu)物網(wǎng)站選擇支付,用戶(hù)界面切換為支付界面,前臺(tái)運(yùn)行活動(dòng)從某購(gòu)物網(wǎng)站瀏覽變?yōu)橹Ц丁?/p>
系統(tǒng)UI事件攜帶有變化后的前臺(tái)運(yùn)行活動(dòng)的活動(dòng)數(shù)據(jù)。當(dāng)應(yīng)用程序接收到輔助功能發(fā)送的系統(tǒng)UI事件時(shí),說(shuō)明前臺(tái)運(yùn)行活動(dòng)發(fā)生了變化,應(yīng)用程序能夠從系統(tǒng)UI事件獲知變化后的前臺(tái)運(yùn)行活動(dòng)。
步驟102,通過(guò)應(yīng)用程序根據(jù)系統(tǒng)UI事件,確定變化后的前臺(tái)運(yùn)行活動(dòng)。
應(yīng)用程序根據(jù)系統(tǒng)UI事件確定變化后的前臺(tái)運(yùn)行活動(dòng),實(shí)現(xiàn)應(yīng)用程序?qū)η芭_(tái)運(yùn)行活動(dòng)的監(jiān)控。
步驟103,在變化后的前臺(tái)運(yùn)行活動(dòng)是目標(biāo)活動(dòng)時(shí),執(zhí)行與目標(biāo)活動(dòng)對(duì)應(yīng)的處理操作。
綜上所述,本發(fā)明實(shí)施例所提供的活動(dòng)監(jiān)控方法,通過(guò)操作系統(tǒng)中的輔助功能監(jiān)控前臺(tái)運(yùn)行活動(dòng)是否發(fā)生變化,當(dāng)前臺(tái)運(yùn)行活動(dòng)發(fā)生變化時(shí),輔助功能向應(yīng)用程序發(fā)送系統(tǒng)UI事件,應(yīng)用程序根據(jù)系統(tǒng)UI事件確定變化后的前臺(tái)運(yùn)行活動(dòng),在變化后的前臺(tái)運(yùn)行活動(dòng)是目標(biāo)活動(dòng)時(shí)執(zhí)行與目標(biāo)活動(dòng)對(duì)應(yīng)的處理操作,由于在監(jiān)控到前臺(tái)運(yùn)行活動(dòng)發(fā)生變化時(shí),輔助功能會(huì)向應(yīng)用程序發(fā)送系統(tǒng)UI事件,不需要應(yīng)用程序主動(dòng)獲取前臺(tái)運(yùn)行活動(dòng),避免出現(xiàn)詢(xún)問(wèn)時(shí)間間隔不合適導(dǎo)致浪費(fèi)CPU的時(shí)間片以及監(jiān)控結(jié)果不準(zhǔn)確的問(wèn)題;達(dá)到了既能準(zhǔn)確地監(jiān)控前臺(tái)運(yùn)行活動(dòng),同時(shí)不會(huì)浪費(fèi)CPU的時(shí)間片,從而保證系統(tǒng)性能的效果。
請(qǐng)參考圖2,其示出了本發(fā)明另一個(gè)示例性實(shí)施例提供的活動(dòng)監(jiān)控方法的流程圖。本實(shí)施例以該活動(dòng)監(jiān)控方法應(yīng)用于采用Android操作系統(tǒng)的智能終端中來(lái)舉例說(shuō)明,如圖2所示,該活動(dòng)監(jiān)控方法包括以下步驟:
步驟201,通過(guò)應(yīng)用程序在操作系統(tǒng)中開(kāi)啟輔助功能。
可選的,在第一次安裝應(yīng)用程序時(shí),由應(yīng)用程序自動(dòng)開(kāi)啟輔助功能;或者,在安裝應(yīng)用程序后,在第一次啟動(dòng)應(yīng)用程序時(shí),由應(yīng)用程序自動(dòng)開(kāi)啟輔助功能。
應(yīng)用程序不需要在系統(tǒng)UI(User Interface,用戶(hù)界面)界面借助用戶(hù)開(kāi)啟輔助功能,應(yīng)用程序在具備Root權(quán)限時(shí),自動(dòng)在應(yīng)用內(nèi)部開(kāi)啟輔助功能。
具體地,通過(guò)應(yīng)用程序在Root權(quán)限下,調(diào)用content命令設(shè)置輔助功能服務(wù)使能字段的字段參數(shù)來(lái)開(kāi)啟輔助功能。
可選地,在調(diào)用content命令設(shè)置輔助功能服務(wù)使能字段之前,需要檢測(cè)系統(tǒng)版本是否小于預(yù)定版本;若系統(tǒng)版本小于預(yù)定版本,則確定用于開(kāi)啟輔助功能的content命令為content insert命令;若系統(tǒng)版本不小于預(yù)定版本,則確定用于開(kāi)啟輔助功能的content命令為content call命令。
可選的,預(yù)定版本為版本18(Api level=18),當(dāng)Api level≥18時(shí),系統(tǒng)支持content call命令,確定用于開(kāi)啟輔助功能的content命令為content call命令;當(dāng)Api level<18時(shí),系統(tǒng)支持content insert命令,確定用于開(kāi)啟輔助功能的content命令為content insert命令。
請(qǐng)參考圖3,其示例性地示出了應(yīng)用程序在操作系統(tǒng)中開(kāi)啟輔助功能的原理示意圖。在應(yīng)用程序開(kāi)啟輔助功能的過(guò)程中,應(yīng)用程序首先檢測(cè)自身是否有Root權(quán)限31;若有Root權(quán)限31則繼續(xù)檢測(cè)系統(tǒng)版本是否小于預(yù)定版本,若系統(tǒng)版本小于預(yù)定版本,則確定用于開(kāi)啟輔助功能的content命令為content insert命令33,若系統(tǒng)版本不小于預(yù)定版本,則確定用于開(kāi)啟輔助功能的content命令為content call命令34;通過(guò)調(diào)用確定的content命令添加應(yīng)用程序的輔助功能服務(wù)名稱(chēng)35,通過(guò)調(diào)用確定的content命令將輔助功能服務(wù)使能字段對(duì)應(yīng)的使能狀態(tài)設(shè)置為開(kāi)啟狀態(tài)36,實(shí)現(xiàn)應(yīng)用程序在操作系統(tǒng)中開(kāi)啟輔助功能。
由圖3可知,該步驟可由如下兩個(gè)步驟具體實(shí)現(xiàn):
一、調(diào)用content命令將應(yīng)用程序的輔助功能服務(wù)名稱(chēng)拼接在輔助功能服務(wù)使能字段對(duì)應(yīng)的值中。
可選的,將應(yīng)用程序的輔助功能服務(wù)名稱(chēng)拼接在輔助功能服務(wù)使能字段對(duì)應(yīng)的值中的實(shí)現(xiàn)方式為:獲取輔助功能服務(wù)使能字段對(duì)應(yīng)的值,在輔助功能服務(wù)使能字段對(duì)應(yīng)的值之后添加應(yīng)用程序的輔助功能服務(wù)名稱(chēng)作為新的值,用新的值替代原來(lái)的輔助功能服務(wù)使能字段對(duì)應(yīng)的值。比如:原來(lái)的輔助功能服務(wù)使能字段對(duì)應(yīng)的值為“值1”,應(yīng)用程序的輔助功能服務(wù)名稱(chēng)為“名稱(chēng)1”,則新的值為“值1+名稱(chēng)1”,再利用“值1+名稱(chēng)1”替換“值1”。
如此,將應(yīng)用程序的主件名也即輔助功能服務(wù)名稱(chēng),拼接到了輔助服務(wù)使能字段中。
二、調(diào)用content命令將輔助功能服務(wù)使能字段對(duì)應(yīng)的使能狀態(tài)設(shè)置為開(kāi)啟狀態(tài)。
可選地,輔助功能服務(wù)使能字段對(duì)應(yīng)的使能狀態(tài)包括:開(kāi)啟狀態(tài)或關(guān)閉狀態(tài)。應(yīng)用程序需要調(diào)用content命令將輔助功能服務(wù)使能字段對(duì)應(yīng)的使能狀態(tài)設(shè)置為開(kāi)啟狀態(tài)。
可選的,輔助功能服務(wù)使能字段為enabled_accessibility_services字段。
根據(jù)系統(tǒng)版本的不同,上述兩個(gè)步驟的具體實(shí)現(xiàn)如下:
一、當(dāng)系統(tǒng)版本不小于預(yù)定版本時(shí),調(diào)用content call命令開(kāi)啟輔助功能具體為:
1、通過(guò)應(yīng)用程序在Root權(quán)限下,調(diào)用content call命令將輔助功能服務(wù)(accessibility services)主件名拼接在enabled_accessibility_services字段對(duì)應(yīng)的值中。
代碼實(shí)現(xiàn)為:
Content call—uri content//settings/secure—method PUT_secure
-arg enabled_accessibility_services—extra value:s:newValue—extra_user:i:0
其中,newValue為添加指定的應(yīng)用程序的輔助功能服務(wù)(accessibility services)主件名后的字符串,也即newValue既包括之前開(kāi)啟過(guò)輔助功能的應(yīng)用程序的輔助功能服務(wù)名稱(chēng),也包括新開(kāi)啟輔助功能的應(yīng)用程序的輔助功能服務(wù)名稱(chēng)。extra_user:i:0用于表示在Root權(quán)限下開(kāi)啟輔助功能。
2、通過(guò)應(yīng)用程序在Root權(quán)限下,調(diào)用content call命令將enabled_accessibility_services字段對(duì)應(yīng)的使能狀態(tài)設(shè)置為開(kāi)啟狀態(tài)。
代碼實(shí)現(xiàn)為:
Content call—uri content//settings/secure—method PUT_secure
-arg enabled_accessibility_services—extra value:i:1—extra_user:i:0
二、當(dāng)系統(tǒng)版本小于預(yù)定版本時(shí),調(diào)用content insert命令開(kāi)啟輔助功能具體為:
1、通過(guò)應(yīng)用程序在Root權(quán)限下,調(diào)用content insert命令將輔助功能服務(wù)(accessibility services)主件名拼接在enabled_accessibility_services字段對(duì)應(yīng)的值中。
代碼實(shí)現(xiàn)為:
Content insert—uri content//settings/secure—bind name:s:
enabled_accessibility_services—bind value:s:newValue
其中,newValue為添加指定的應(yīng)用程序的輔助功能服務(wù)(accessibility services)主件名后的字符串,也即newValue既包括之前開(kāi)啟過(guò)輔助功能的應(yīng)用程序的輔助功能服務(wù)名稱(chēng),也包括新開(kāi)啟輔助功能的應(yīng)用程序的輔助功能服務(wù)名稱(chēng)。
2、通過(guò)應(yīng)用程序在Root權(quán)限下,調(diào)用content insert命令將enabled_accessibility_services字段對(duì)應(yīng)的使能狀態(tài)設(shè)置為開(kāi)啟狀態(tài)。
代碼實(shí)現(xiàn)為:
Content insert—uri content//settings/secure—
bind name:s:accessibility_enabled—bind value:s:1
可選的,在第一次安裝應(yīng)用程序時(shí),由應(yīng)用程序自動(dòng)開(kāi)啟輔助功能;或者,在安裝應(yīng)用程序后,在第一次啟動(dòng)應(yīng)用程序時(shí),由應(yīng)用程序自動(dòng)開(kāi)啟輔助功能。
步驟202,通過(guò)應(yīng)用程序在操作系統(tǒng)中注冊(cè)系統(tǒng)UI事件。
注冊(cè)用于指示輔助功能監(jiān)控前臺(tái)運(yùn)行活動(dòng)是否發(fā)生變化。
輔助功能具有多種功能,包括文字轉(zhuǎn)語(yǔ)音、觸覺(jué)反饋、手勢(shì)操作、軌跡球、手柄操作、聲音提示、物理反饋等功能;由于應(yīng)用程序開(kāi)啟輔助功能是將全部的輔助功能開(kāi)啟,而應(yīng)用程序只需要使用輔助功能中能夠監(jiān)控前臺(tái)運(yùn)行活動(dòng)的功能,因此,在開(kāi)啟輔助功能后應(yīng)用程序在系統(tǒng)中注冊(cè)系統(tǒng)UI事件,在注冊(cè)系統(tǒng)UI事件后,與該應(yīng)用程序?qū)?yīng)的輔助功能僅用于監(jiān)控前臺(tái)運(yùn)行活動(dòng)是否發(fā)生變化。
具體地,通過(guò)應(yīng)用程序在系統(tǒng)中注冊(cè)TYPE_STATE_CHANGED事件。
在開(kāi)啟輔助功能之后,通過(guò)應(yīng)用程序在系統(tǒng)中注冊(cè)TYPE_STATE_CHANGED事件,注冊(cè)TYPE_STATE_CHANGED事件之后,輔助功能用于監(jiān)控當(dāng)前前臺(tái)運(yùn)行的事件是否發(fā)生變化。也即TYPE_STATE_CHANGED事件用于指示輔助功能用于監(jiān)控當(dāng)前前臺(tái)運(yùn)行的事件是否發(fā)生變化。
步驟203,通過(guò)應(yīng)用程序接收輔助功能發(fā)送的系統(tǒng)UI事件。
系統(tǒng)UI事件攜帶有變化后的前臺(tái)運(yùn)行活動(dòng)的活動(dòng)數(shù)據(jù)。
在A(yíng)ndroid操作系統(tǒng),活動(dòng)(Activity)是可以層疊的,每當(dāng)啟動(dòng)一個(gè)新的活動(dòng),新的活動(dòng)就會(huì)覆蓋在原活動(dòng)之上;使用活動(dòng)棧存放啟動(dòng)的活動(dòng),活動(dòng)棧是一種后進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),在默認(rèn)情況下,每啟動(dòng)一個(gè)活動(dòng),該活動(dòng)就會(huì)在活動(dòng)棧中入棧,并處于棧頂位置,處于棧頂位置的活動(dòng)是前臺(tái)運(yùn)行活動(dòng)。當(dāng)前臺(tái)運(yùn)行活動(dòng)發(fā)生變化時(shí),活動(dòng)棧中處于棧頂位置的活動(dòng)也會(huì)發(fā)生變化,輔助功能監(jiān)控到前臺(tái)運(yùn)行活動(dòng)發(fā)生變化,輔助功能向應(yīng)用程序發(fā)送系統(tǒng)UI事件,應(yīng)用程序接收系統(tǒng)UI事件。
需要說(shuō)明的是,除了新的活動(dòng)會(huì)位于棧頂,將一個(gè)舊的活動(dòng)切換到前臺(tái)運(yùn)行時(shí),該舊的活動(dòng)也會(huì)重新移動(dòng)到棧頂。
可選的,輔助功能向應(yīng)用程序發(fā)送TYPE_STATE_CHANGED事件,應(yīng)用程序接收TYPE_STATE_CHANGED事件。
比如:應(yīng)用程序?yàn)橛螒蚣铀兕?lèi)應(yīng)用程序A,原來(lái)的前臺(tái)運(yùn)行活動(dòng)是系統(tǒng)首頁(yè),用戶(hù)啟動(dòng)游戲應(yīng)用程序B,此時(shí),前臺(tái)運(yùn)行活動(dòng)為游戲應(yīng)用程序B,前臺(tái)運(yùn)行活動(dòng)發(fā)生變化,輔助功能向游戲加速類(lèi)應(yīng)用程序A發(fā)送TYPE_STATE_CHANGED事件,應(yīng)用程序接收TYPE_STATE_CHANGED事件。
可選地,在前臺(tái)運(yùn)行活動(dòng)發(fā)生變化時(shí),輔助功能向所有開(kāi)啟了輔助功能的應(yīng)用程序發(fā)送系統(tǒng)UI事件,所有開(kāi)啟了輔助功能的應(yīng)用程序都會(huì)接收到系統(tǒng)UI事件。比如:如圖4所示,開(kāi)啟了輔助功能的應(yīng)用程序包括游戲加速類(lèi)應(yīng)用程序43,當(dāng)前臺(tái)運(yùn)行活動(dòng)發(fā)生變化時(shí),發(fā)送TYPE_STATE_CHANGED事件42至所有開(kāi)啟了輔助功能的應(yīng)用程序:游戲加速類(lèi)應(yīng)用程序43和其他應(yīng)用程序44,游戲加速類(lèi)應(yīng)用程序接收到TYPE_STATE_CHANGED事件42后,對(duì)TYPE_STATE_CHANGED事件42進(jìn)行解析,執(zhí)行處理操作45,其他應(yīng)用程序44根據(jù)自身配置選擇是否執(zhí)行處理操作。
步驟204,通過(guò)應(yīng)用程序確定系統(tǒng)UI事件的類(lèi)型。
應(yīng)用程序從接收到的系統(tǒng)UI事件中讀取出系統(tǒng)UI事件的類(lèi)型。
步驟205,檢測(cè)系統(tǒng)UI事件的類(lèi)型是否是預(yù)定類(lèi)型。
為了避免應(yīng)用程序處理接收到的所有的系統(tǒng)UI事件,應(yīng)用程序需要檢測(cè)系統(tǒng)UI事件的類(lèi)型是否是預(yù)定類(lèi)型。
可選的,預(yù)定類(lèi)型預(yù)先在應(yīng)用程序中定義的事件類(lèi)型,各個(gè)應(yīng)用程序只處理預(yù)定類(lèi)型的系統(tǒng)UI事件。比如:對(duì)應(yīng)用程序進(jìn)行預(yù)先設(shè)置,該應(yīng)用程序只處理事件類(lèi)型為類(lèi)型1和類(lèi)型2的系統(tǒng)UI事件,接收到的系統(tǒng)UI事件的類(lèi)型為類(lèi)型4時(shí),應(yīng)用程序不處理接收到的系統(tǒng)UI事件。再比如:應(yīng)用程序?yàn)橛螒蚣铀兕?lèi)應(yīng)用程序,游戲加速類(lèi)應(yīng)用程序只處理事件類(lèi)型是與游戲有關(guān)的,當(dāng)游戲加速類(lèi)應(yīng)用程序接收到的系統(tǒng)UI事件為支付類(lèi)事件時(shí),游戲加速類(lèi)應(yīng)用程序不對(duì)接收到的系統(tǒng)UI事件進(jìn)行處理,當(dāng)游戲加速類(lèi)應(yīng)用程序接收到的系統(tǒng)UI事件的類(lèi)型與游戲有關(guān)時(shí),游戲加速類(lèi)應(yīng)用程序?qū)邮盏降南到y(tǒng)UI事件進(jìn)行處理。
若檢測(cè)到系統(tǒng)UI事件的類(lèi)型是預(yù)定類(lèi)型,則執(zhí)行步驟206;若檢測(cè)到系統(tǒng)UI事件的類(lèi)型不是預(yù)定類(lèi)型,則不繼續(xù)執(zhí)行。
步驟206,若系統(tǒng)UI事件的類(lèi)型是預(yù)定類(lèi)型,則通過(guò)應(yīng)用程序從系統(tǒng)UI事件中解析出活動(dòng)數(shù)據(jù)。
可選的,應(yīng)用程序從函數(shù)onAccessibilityEvent(AccessibilityEvent event)中獲取AccessibilityEvent,并對(duì)AccessibilityEvent進(jìn)行解析,得到活動(dòng)數(shù)據(jù),該活動(dòng)數(shù)據(jù)為AccessibilityRecordCompat類(lèi)型的數(shù)據(jù)。
由于A(yíng)ccessibilityEvent是封裝事件,因此需要將AccessibilityEvent進(jìn)行解析,并從兼容性考慮,根據(jù)應(yīng)用程序的版本解析為AccessibilityRecordCompat類(lèi)型的數(shù)據(jù)類(lèi)型的數(shù)據(jù)。
步驟207,從活動(dòng)數(shù)據(jù)中獲取變化后的前臺(tái)運(yùn)行活動(dòng)的包名和類(lèi)名。
包名用于表示變化后的前臺(tái)運(yùn)行活動(dòng)所屬的應(yīng)用程序,類(lèi)名用于表示變化后的前臺(tái)運(yùn)行活動(dòng)的內(nèi)容。
可選的,通過(guò)函數(shù)getPackageName()從活動(dòng)數(shù)據(jù)AccessibilityRecordCompat中獲取變換后的前臺(tái)運(yùn)行活動(dòng)的包名;根據(jù)包名可以確定變化后的前臺(tái)運(yùn)行活動(dòng)的所屬的應(yīng)用程序。
可選的,通過(guò)函數(shù)getClassName()從活動(dòng)數(shù)據(jù)AccessibilityRecordCompat中獲取變化后的前臺(tái)運(yùn)行活動(dòng)的類(lèi)名;根據(jù)類(lèi)型可以確定變化后的前臺(tái)運(yùn)行活動(dòng)的的內(nèi)容。
比如:根據(jù)獲取到的包名確定變化后的前臺(tái)運(yùn)行活動(dòng)的屬于游戲應(yīng)用B,根據(jù)獲取到的類(lèi)型確定變化后的前臺(tái)運(yùn)行活動(dòng)的內(nèi)容為開(kāi)啟游戲應(yīng)用B。
步驟208,根據(jù)包名和類(lèi)名確定變化后的前臺(tái)運(yùn)行活動(dòng)。
比如:根據(jù)包名和類(lèi)名確定變化后的前臺(tái)運(yùn)行活動(dòng)的為游戲應(yīng)用B正在開(kāi)啟。
步驟209,在變化后的前臺(tái)運(yùn)行活動(dòng)的是目標(biāo)活動(dòng)時(shí),執(zhí)行與目標(biāo)活動(dòng)對(duì)應(yīng)的處理操作。
當(dāng)變化后的前臺(tái)運(yùn)行活動(dòng)是支付類(lèi)活動(dòng)時(shí),對(duì)支付環(huán)境進(jìn)行安全性檢測(cè)。
比如:應(yīng)用程序?yàn)榘踩?lèi)應(yīng)用程序:手機(jī)助手,變化后的前臺(tái)運(yùn)行活動(dòng)是使用微信錢(qián)包對(duì)某物品進(jìn)行支付,則手機(jī)助手檢測(cè)當(dāng)前微信錢(qián)包的支付環(huán)境,若當(dāng)前的支付環(huán)境不存在風(fēng)險(xiǎn)則不提示用戶(hù),若當(dāng)前的支付環(huán)境存在風(fēng)險(xiǎn),則提示用戶(hù)支付存在風(fēng)險(xiǎn),如圖5所示,用戶(hù)界面顯示提醒彈框51,用戶(hù)可點(diǎn)擊提醒彈框51中的取消支付控件52來(lái)取消當(dāng)前支付。
當(dāng)變化后的前臺(tái)運(yùn)行活動(dòng)是游戲啟動(dòng)類(lèi)活動(dòng)時(shí),對(duì)啟動(dòng)的游戲應(yīng)用程序進(jìn)行加速。
比如:應(yīng)用程序?yàn)橛螒蚣铀兕?lèi)應(yīng)用程序:游戲盒子,當(dāng)變化后的前臺(tái)運(yùn)行活動(dòng)是開(kāi)啟游戲應(yīng)用B時(shí),游戲盒子提示用戶(hù)開(kāi)啟游戲加速器,如圖6所示,用戶(hù)顯示界面顯示提醒彈框61,用戶(hù)點(diǎn)擊提醒彈框61中的立即增強(qiáng)控件62時(shí),游戲盒子立即對(duì)游戲應(yīng)用B進(jìn)行加速;或,當(dāng)變化后的前臺(tái)運(yùn)行活動(dòng)是用戶(hù)退出游戲應(yīng)用B時(shí),游戲盒子向用戶(hù)推薦其他與游戲應(yīng)用B相關(guān)的游戲應(yīng)用。
當(dāng)變化后的前臺(tái)運(yùn)行活動(dòng)是垃圾信息顯示類(lèi)活動(dòng)時(shí),對(duì)垃圾信息進(jìn)行攔截。
比如:應(yīng)用程序?yàn)榘踩?lèi)應(yīng)用程序時(shí),當(dāng)變化后的前臺(tái)運(yùn)行活動(dòng)是惡意廣告彈窗時(shí),對(duì)惡意廣告彈窗進(jìn)行攔截。
當(dāng)變化后的前臺(tái)運(yùn)行活動(dòng)是預(yù)定消息接收類(lèi)活動(dòng)時(shí),為對(duì)預(yù)定消息進(jìn)行接收提醒。
可選的,使用彈窗方式對(duì)預(yù)定消息進(jìn)行接收提醒。
比如:應(yīng)用程序?yàn)橄到y(tǒng)增強(qiáng)類(lèi)應(yīng)用程序,預(yù)定消息為紅包類(lèi)消息,當(dāng)變化后的前臺(tái)運(yùn)行活動(dòng)是接收到微信紅包時(shí),應(yīng)用程序提醒用戶(hù)接收到微信紅包;或預(yù)定消息為語(yǔ)音通話(huà)請(qǐng)求或視頻通話(huà)請(qǐng)求,當(dāng)變化后的當(dāng)前前臺(tái)運(yùn)行的事件為接收到語(yǔ)音通話(huà)請(qǐng)求或視頻通話(huà)請(qǐng)求,應(yīng)用程序提醒用戶(hù)接聽(tīng)通話(huà)請(qǐng)求。
綜上所述,本發(fā)明實(shí)施例所提供的活動(dòng)監(jiān)控方法,通過(guò)操作系統(tǒng)中的輔助功能監(jiān)控前臺(tái)運(yùn)行活動(dòng)是否發(fā)生變化,當(dāng)前臺(tái)運(yùn)行活動(dòng)發(fā)生變化時(shí),輔助功能向應(yīng)用程序發(fā)送系統(tǒng)UI事件,應(yīng)用程序根據(jù)系統(tǒng)UI事件確定變化后的前臺(tái)運(yùn)行活動(dòng),在變化后的前臺(tái)運(yùn)行活動(dòng)是目標(biāo)活動(dòng)時(shí)執(zhí)行與目標(biāo)活動(dòng)對(duì)應(yīng)的處理操作,由于在監(jiān)控到前臺(tái)運(yùn)行活動(dòng)發(fā)生變化時(shí),輔助功能會(huì)向應(yīng)用程序發(fā)送系統(tǒng)UI事件,不需要應(yīng)用程序主動(dòng)獲取前臺(tái)運(yùn)行活動(dòng),避免出現(xiàn)詢(xún)問(wèn)時(shí)間間隔不合適導(dǎo)致浪費(fèi)CPU的時(shí)間片以及監(jiān)控結(jié)果不準(zhǔn)確的問(wèn)題;達(dá)到了既能準(zhǔn)確地監(jiān)控前臺(tái)運(yùn)行活動(dòng),同時(shí)不會(huì)浪費(fèi)CPU的時(shí)間片,從而保證系統(tǒng)性能的效果。
此外,還通過(guò)在接收到輔助功能發(fā)送的系統(tǒng)UI事件時(shí),判斷系統(tǒng)UI事件的類(lèi)型是否是預(yù)定類(lèi)型時(shí),當(dāng)系統(tǒng)UI時(shí)間的類(lèi)型是預(yù)定類(lèi)型時(shí),通過(guò)應(yīng)用程序解析系統(tǒng)UI事件,確定變化后的前臺(tái)運(yùn)行活動(dòng),避免應(yīng)用程序解析所有接收到的系統(tǒng)UI事件,節(jié)省了系統(tǒng)的計(jì)算資源和時(shí)間資源。
此外,還通過(guò)應(yīng)用程序在操作系統(tǒng)開(kāi)啟輔助功能,并在操作系統(tǒng)注冊(cè)系統(tǒng)UI事件,由于注冊(cè)了系統(tǒng)UI事件,輔助功能只用于監(jiān)控前臺(tái)運(yùn)行活動(dòng),避免使用輔助功能提供的全部服務(wù),避免浪費(fèi)系統(tǒng)的時(shí)間資源,不影響用戶(hù)使用終端。
以下為本發(fā)明實(shí)施例的裝置實(shí)施例,對(duì)于裝置實(shí)施例中未詳細(xì)闡述的細(xì)節(jié),可以參考對(duì)應(yīng)的方法實(shí)施例。
請(qǐng)參考圖7,其示出了本發(fā)明實(shí)施例示出的一種活動(dòng)監(jiān)控裝置的結(jié)構(gòu)方框圖。該活動(dòng)監(jiān)控裝置可以通過(guò)軟件、硬件或者兩者的結(jié)合實(shí)現(xiàn)成為上述可提供活動(dòng)監(jiān)控方法的終端設(shè)備的全部或一部分。該裝置包括:
事件接收模塊710,用于實(shí)現(xiàn)上述步驟101、203的功能;
事件確定模塊720,用于實(shí)現(xiàn)上述步驟102、207、208的功能;
執(zhí)行操作模塊730,用于實(shí)現(xiàn)上述步驟103、209的功能。
可選的,事件確定模塊720,用于實(shí)現(xiàn)上述步驟的功能。
可選的,該裝置還包括:
開(kāi)啟模塊,用于實(shí)現(xiàn)上述步驟201的功能;
注冊(cè)模塊,用于實(shí)現(xiàn)上述步驟202的功能。
可選的,該裝置還包括:
第一檢測(cè)模塊,用于實(shí)現(xiàn)步驟201中功能。
第一確定模塊,用于實(shí)現(xiàn)步驟201中的功能。
第二確定模塊,用于實(shí)現(xiàn)步驟201中的功能。
可選的,該裝置還包括:
類(lèi)型確定模塊,用于實(shí)現(xiàn)上述步驟204的功能。
第二檢測(cè)模塊,用于實(shí)現(xiàn)上述步驟205的功能
執(zhí)行模塊,用于實(shí)現(xiàn)上述步驟206的功能。
綜上所述,本發(fā)明實(shí)施例所提供的活動(dòng)監(jiān)控裝置,通過(guò)操作系統(tǒng)中的輔助功能監(jiān)控前臺(tái)運(yùn)行活動(dòng)是否發(fā)生變化,當(dāng)前臺(tái)運(yùn)行活動(dòng)發(fā)生變化時(shí),輔助功能向應(yīng)用程序發(fā)送系統(tǒng)UI事件,應(yīng)用程序根據(jù)系統(tǒng)UI事件確定變化后的前臺(tái)運(yùn)行活動(dòng),在變化后的前臺(tái)運(yùn)行活動(dòng)是目標(biāo)活動(dòng)時(shí)執(zhí)行與目標(biāo)活動(dòng)對(duì)應(yīng)的處理操作,由于在監(jiān)控到前臺(tái)運(yùn)行活動(dòng)發(fā)生變化時(shí),輔助功能會(huì)向應(yīng)用程序發(fā)送系統(tǒng)UI事件,不需要應(yīng)用程序主動(dòng)獲取前臺(tái)運(yùn)行活動(dòng),避免出現(xiàn)詢(xún)問(wèn)時(shí)間間隔不合適導(dǎo)致浪費(fèi)CPU的時(shí)間片以及監(jiān)控結(jié)果不準(zhǔn)確的問(wèn)題;達(dá)到了既能準(zhǔn)確地監(jiān)控前臺(tái)運(yùn)行活動(dòng),同時(shí)不會(huì)浪費(fèi)CPU的時(shí)間片,從而保證系統(tǒng)性能的效果。
需要說(shuō)明的是:上述實(shí)施例中提供的活動(dòng)監(jiān)控裝置在監(jiān)控事件時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將終端設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的活動(dòng)監(jiān)控置與活動(dòng)監(jiān)控方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過(guò)程詳見(jiàn)方法實(shí)施例,這里不再贅述。
請(qǐng)參考圖8,其示出了本發(fā)明一個(gè)實(shí)施例提供的終端設(shè)備800的框圖,該終端設(shè)備可以包括射頻(RF,Radio Frequency)電路801、包括有一個(gè)或一個(gè)以上計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的存儲(chǔ)器802、輸入單元803、顯示單元804、傳感器805、音頻電路806、無(wú)線(xiàn)保真(WiFi,Wireless Fidelity)模塊807、包括有一個(gè)或者一個(gè)以上處理核心的處理器804、以及電源809等部件。本領(lǐng)域技術(shù)人員可以理解,圖8中示出的終端設(shè)備結(jié)構(gòu)并不構(gòu)成對(duì)終端設(shè)備的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。其中:
RF電路801可用于收發(fā)信息或通話(huà)過(guò)程中,信號(hào)的接收和發(fā)送,特別地,將基站的下行信息接收后,交由一個(gè)或者一個(gè)以上處理器804處理;另外,將涉及上行的數(shù)據(jù)發(fā)送給基站。通常,RF電路801包括但不限于天線(xiàn)、至少一個(gè)放大器、調(diào)諧器、一個(gè)或多個(gè)振蕩器、用戶(hù)身份模塊(SIM,Subscriber Identity Module)卡、收發(fā)信機(jī)、耦合器、低噪聲放大器(LNA,Low Noise Amplifier)、雙工器等。此外,RF電路801還可以通過(guò)無(wú)線(xiàn)通信與網(wǎng)絡(luò)和其他設(shè)備通信。所述無(wú)線(xiàn)通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于全球移動(dòng)通訊系統(tǒng)(GSM,Global System of Mobile communication)、通用分組無(wú)線(xiàn)服務(wù)(GPRS,General Packet Radio Service)、碼分多址(CDMA,Code Division Multiple Access)、寬帶碼分多址(WCDMA,Wideband Code Division Multiple Access)、長(zhǎng)期演進(jìn)(LTE,Long Term Evolution)、電子郵件、短消息服務(wù)(SMS,Short Messaging Service)等。
存儲(chǔ)器802可用于存儲(chǔ)軟件程序以及模塊,處理器808通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器802的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器802可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)終端設(shè)備的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話(huà)本等)等。此外,存儲(chǔ)器802可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤(pán)存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。相應(yīng)地,存儲(chǔ)器802還可以包括存儲(chǔ)器控制器,以提供處理器808和輸入單元803對(duì)存儲(chǔ)器802的訪(fǎng)問(wèn)。
輸入單元803可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與用戶(hù)設(shè)置以及功能控制有關(guān)的鍵盤(pán)、鼠標(biāo)、操作桿、光學(xué)或者軌跡球信號(hào)輸入。具體地,在一個(gè)具體的實(shí)施例中,輸入單元803可包括觸敏表面以及其他輸入設(shè)備。觸敏表面,也稱(chēng)為觸摸顯示屏或者觸控板,可收集用戶(hù)在其上或附近的觸摸操作(比如用戶(hù)使用手指、觸筆等任何適合的物體或附件在觸敏表面上或在觸敏表面附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動(dòng)相應(yīng)的連接裝置。可選的,觸敏表面可包括觸摸檢測(cè)裝置和觸摸控制器兩個(gè)部分。其中,觸摸檢測(cè)裝置檢測(cè)用戶(hù)的觸摸方位,并檢測(cè)觸摸操作帶來(lái)的信號(hào),將信號(hào)傳送給觸摸控制器;觸摸控制器從觸摸檢測(cè)裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理器808,并能接收處理器808發(fā)來(lái)的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線(xiàn)以及表面聲波等多種類(lèi)型實(shí)現(xiàn)觸敏表面。除了觸敏表面,輸入單元803還可以包括其他輸入設(shè)備。具體地,其他輸入設(shè)備可以包括但不限于物理鍵盤(pán)、功能鍵(比如音量控制按鍵、開(kāi)關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
顯示單元804可用于顯示由用戶(hù)輸入的信息或提供給用戶(hù)的信息以及終端設(shè)備的各種圖形用戶(hù)接口,這些圖形用戶(hù)接口可以由圖形、文本、圖標(biāo)、視頻和其任意組合來(lái)構(gòu)成。顯示單元404可包括顯示面板,可選的,可以采用液晶顯示器(LCD,Liquid Crystal Display)、有機(jī)發(fā)光二極管(OLED,Organic Light-Emitting Diode)等形式來(lái)配置顯示面板。進(jìn)一步的,觸敏表面可覆蓋顯示面板,當(dāng)觸敏表面檢測(cè)到在其上或附近的觸摸操作后,傳送給處理器808以確定觸摸事件的類(lèi)型,隨后處理器808根據(jù)觸摸事件的類(lèi)型在顯示面板上提供相應(yīng)的視覺(jué)輸出。雖然在圖8中,觸敏表面與顯示面板是作為兩個(gè)獨(dú)立的部件來(lái)實(shí)現(xiàn)輸入和輸入功能,但是在某些實(shí)施例中,可以將觸敏表面與顯示面板集成而實(shí)現(xiàn)輸入和輸出功能。
終端設(shè)備還可包括至少一種傳感器805,比如光傳感器、運(yùn)動(dòng)傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線(xiàn)的明暗來(lái)調(diào)節(jié)顯示面板的亮度,接近傳感器可在終端設(shè)備移動(dòng)到耳邊時(shí),關(guān)閉顯示面板和/或背光。作為運(yùn)動(dòng)傳感器的一種,重力加速度傳感器可檢測(cè)各個(gè)方向上(一般為三軸)加速度的大小,靜止時(shí)可檢測(cè)出重力的大小及方向,可用于識(shí)別手機(jī)姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動(dòng)識(shí)別相關(guān)功能(比如計(jì)步器、敲擊)等;至于終端設(shè)備還可配置的陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線(xiàn)傳感器等其他傳感器,在此不再贅述。
音頻電路806、揚(yáng)聲器,傳聲器可提供用戶(hù)與終端設(shè)備之間的音頻接口。音頻電路806可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號(hào),傳輸?shù)綋P(yáng)聲器,由揚(yáng)聲器轉(zhuǎn)換為聲音信號(hào)輸出;另一方面,傳聲器將收集的聲音信號(hào)轉(zhuǎn)換為電信號(hào),由音頻電路806接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器808處理后,經(jīng)RF電路801以發(fā)送給比如另一終端設(shè)備,或者將音頻數(shù)據(jù)輸出至存儲(chǔ)器802以便進(jìn)一步處理。音頻電路806還可能包括耳塞插孔,以提供外設(shè)耳機(jī)與終端設(shè)備的通信。
WiFi屬于短距離無(wú)線(xiàn)傳輸技術(shù),終端設(shè)備通過(guò)WiFi模塊807可以幫助用戶(hù)收發(fā)電子郵件、瀏覽網(wǎng)頁(yè)和訪(fǎng)問(wèn)流式媒體等,它為用戶(hù)提供了無(wú)線(xiàn)的寬帶互聯(lián)網(wǎng)訪(fǎng)問(wèn)。雖然圖8示出了WiFi模塊807,但是可以理解的是,其并不屬于終端設(shè)備的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
處理器808是終端設(shè)備的控制中心,利用各種接口和線(xiàn)路連接整個(gè)手機(jī)的各個(gè)部分,通過(guò)運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器802內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器802內(nèi)的數(shù)據(jù),執(zhí)行終端設(shè)備的各種功能和處理數(shù)據(jù),從而對(duì)手機(jī)進(jìn)行整體監(jiān)控??蛇x的,處理器808可包括一個(gè)或多個(gè)處理核心;優(yōu)選的,處理器808可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶(hù)界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無(wú)線(xiàn)通信。可以理解的是,上述調(diào)制解調(diào)處理器也可以不集成到處理器808中。
終端設(shè)備還包括給各個(gè)部件供電的電源809(比如電池),優(yōu)選的,電源可以通過(guò)電源管理系統(tǒng)與處理器808邏輯相連,從而通過(guò)電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。電源809還可以包括一個(gè)或一個(gè)以上的直流或交流電源、再充電系統(tǒng)、電源故障檢測(cè)電路、電源轉(zhuǎn)換器或者逆變器、電源狀態(tài)指示器等任意組件。
盡管未示出,終端設(shè)備還可以包括攝像頭、藍(lán)牙模塊等,在此不再贅述。具體在本實(shí)施例中,終端設(shè)備中的處理器808會(huì)運(yùn)行存儲(chǔ)在存儲(chǔ)器802中的一個(gè)或一個(gè)以上的程序指令,從而實(shí)現(xiàn)上述各個(gè)方法實(shí)施例中所提供的活動(dòng)監(jiān)控方法。
本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是上述實(shí)施例中的存儲(chǔ)器中所包含的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì);也可以是單獨(dú)存在,未裝配入終端中的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有一個(gè)或者一個(gè)以上程序,該一個(gè)或者一個(gè)以上程序被一個(gè)或者一個(gè)以上的處理器用來(lái)執(zhí)行活動(dòng)監(jiān)控方法。
需要說(shuō)明的是:上述實(shí)施例提供的活動(dòng)監(jiān)控裝置在監(jiān)控事件時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的活動(dòng)監(jiān)控裝置與活動(dòng)監(jiān)控方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過(guò)程詳見(jiàn)方法實(shí)施例,這里不再贅述。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過(guò)硬件來(lái)完成,也可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤(pán)或光盤(pán)等。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。