本發(fā)明涉及終端
技術(shù)領(lǐng)域:
,更具體地說,涉及一種信息采集方法及終端。
背景技術(shù):
:相對(duì)于傳統(tǒng)功能終端,智能終端更受廣大用戶的歡迎,這主要的原因就是智能終端通過app(application,應(yīng)用程序)的形式為用戶提供了更多功能,而且相對(duì)于傳統(tǒng)終端的功能只能由廠商決定的現(xiàn)狀,智能終端在這一方面為用戶提供了更多選擇,用戶可以根據(jù)自己的個(gè)人需求“定制”功能獨(dú)特的專屬終端,并且隨時(shí)隨地、隨心所欲地對(duì)自己終端的功能進(jìn)行調(diào)整、更改。對(duì)于各個(gè)app廠商而言,如何令自己研發(fā)設(shè)計(jì)的app擁有更多的下載率已經(jīng)成為了其決定研發(fā)設(shè)計(jì)方向時(shí)主要考慮的因素之一。為了更好地分析用戶喜好,總結(jié)市場(chǎng)趨向。而且,現(xiàn)在需要了解app信息的遠(yuǎn)不止各個(gè)app廠商,例如也有不少用戶期望對(duì)自己終端中app的信息進(jìn)行了解。另外,若用戶主動(dòng)參與了某些平臺(tái)的app信息采集活動(dòng),則這些活動(dòng)的發(fā)起者,即平臺(tái)也是app信息的需求對(duì)象之一。以app信息需求對(duì)象為app廠商為例,現(xiàn)有各個(gè)app廠商均會(huì)讓自己研發(fā)設(shè)計(jì)的app具備采集用戶終端中其他app信息的功能,但是通過這種方式所采集到的終端app信息是比較淺顯的,其只能采集到用戶終端中已安裝app的名稱、類別以及各app被分配權(quán)限等基礎(chǔ)信息,由于這類基礎(chǔ)信息能夠反映的信息單一有限,所以其能夠提供給app廠商的信息也是相對(duì)淺顯與粗略的,基本無(wú)法給app廠商帶來真正有用的信息。對(duì)于app信息的需求對(duì)象為用戶自身和其他平臺(tái)的情況也基本一樣,由于現(xiàn)有技術(shù)中信息采集太過淺顯、基礎(chǔ)的緣故,所以導(dǎo)致采集結(jié)果不盡人意,無(wú)法滿足信息需求對(duì)象的需求。所以現(xiàn)在亟需提出一種能夠采集app內(nèi)的活動(dòng)窗口信息的信息采集方案。技術(shù)實(shí)現(xiàn)要素:本發(fā)明要解決的技術(shù)問題在于提供一種能夠采集app活動(dòng)窗口信息的信息采集方案,以解決現(xiàn)有技術(shù)中app信息采集無(wú)法滿足app信息需求對(duì)象需求的問題。為解決上述技術(shù)問題,本發(fā)明提供一種信息采集方法,包括:基于預(yù)先獲取到的采集指引信息調(diào)用終端系統(tǒng)的意圖詢問功能,按照預(yù)設(shè)采集策略采集被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù);所述采集指引信息用于指示采集被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù)的位置;所述被監(jiān)測(cè)活動(dòng)窗口為所述終端當(dāng)前處于運(yùn)行狀態(tài)的應(yīng)用程序的活動(dòng)窗口;將采集到的所述窗口參數(shù)存儲(chǔ)到所述終端的本地?cái)?shù)據(jù)庫(kù)。進(jìn)一步地,將采集到的所述窗口參數(shù)存儲(chǔ)到所述終端的本地?cái)?shù)據(jù)庫(kù)包括:將采集到的所述窗口參數(shù)存儲(chǔ)到臨時(shí)關(guān)系數(shù)據(jù)結(jié)構(gòu)中;當(dāng)所述終端中存在應(yīng)用程序的運(yùn)行狀態(tài)由運(yùn)行狀態(tài)變?yōu)榉沁\(yùn)行狀態(tài)時(shí),從所述臨時(shí)關(guān)系數(shù)據(jù)結(jié)構(gòu)中提取出所述窗口參數(shù)并進(jìn)行解析處理;將經(jīng)過處理的所述窗口參數(shù)存儲(chǔ)到所述終端的本地?cái)?shù)據(jù)庫(kù)中。進(jìn)一步地,將經(jīng)過處理的所述窗口參數(shù)存儲(chǔ)到所述終端的本地?cái)?shù)據(jù)庫(kù)中包括:根據(jù)預(yù)設(shè)分類策略將所述窗口參數(shù)分類寫入到所述本地?cái)?shù)據(jù)庫(kù)的各分類存儲(chǔ)表中。進(jìn)一步地,所述按照預(yù)設(shè)采集策略采集被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù)包括:根據(jù)所述采集指引信息到所述終端的活動(dòng)窗口堆棧、活動(dòng)窗口線程及活動(dòng)窗口記錄的相應(yīng)位置采集所述被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù)。進(jìn)一步地,所述按照預(yù)設(shè)采集策略采集被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù)之前還包括:調(diào)用所述終端系統(tǒng)的程序管理服務(wù)掃描所述終端中當(dāng)前已安裝應(yīng)用程序;根據(jù)掃描結(jié)果到所述終端的進(jìn)程列表中查詢當(dāng)前處于運(yùn)行狀態(tài)的各應(yīng)用程序的進(jìn)程信息;基于查詢到的所述進(jìn)程信息確定針對(duì)當(dāng)前處于運(yùn)行狀態(tài)的各所述應(yīng)用程序活動(dòng)窗口的采集指引信息,并存儲(chǔ)記錄所述采集指引信息。進(jìn)一步地,所述基于查詢到的所述進(jìn)程信息確定針對(duì)當(dāng)前處于運(yùn)行狀態(tài)的各所述應(yīng)用程序活動(dòng)窗口的采集指引信息之后還包括:直接根據(jù)所述采集指引信息完成對(duì)所述被監(jiān)測(cè)活動(dòng)窗口之窗口參數(shù)的初次采集。進(jìn)一步地,基于查詢到的所述進(jìn)程信息確定針對(duì)當(dāng)前處于運(yùn)行狀態(tài)的各所述應(yīng)用程序活動(dòng)窗口的采集指引信息包括:從所述終端的活動(dòng)窗口管理服務(wù)中獲取所述應(yīng)用程序中各活動(dòng)窗口間的映射關(guān)系;根據(jù)查詢到的所述進(jìn)程信息確定終端為所述進(jìn)程分配的存儲(chǔ)位置;結(jié)合所述存儲(chǔ)位置和所述映射關(guān)系確定針對(duì)當(dāng)前處于運(yùn)行狀態(tài)的各所述應(yīng)用程序活動(dòng)窗口的采集指引信息。進(jìn)一步地,還包括:接收系統(tǒng)的新增通知,所述新增通知用以指示終端中存在狀態(tài)由非運(yùn)行狀態(tài)變?yōu)檫\(yùn)行狀態(tài)的新增應(yīng)用程序;判斷是否已經(jīng)記錄有針對(duì)所述新增應(yīng)用程序各活動(dòng)窗口的采集指引信息;若是,直接根據(jù)已記錄的采集指引信息采集針對(duì)所述新增應(yīng)用程序各活動(dòng)窗口的窗口參數(shù);若否,進(jìn)入所述終端的進(jìn)程列表中確定所述新增應(yīng)用程序的新增進(jìn)程信息,基于所述新增進(jìn)程信息確定針對(duì)所述新增應(yīng)用程序各活動(dòng)窗口的采集指引信息,并根據(jù)確定出的所述采集指引信息采集針對(duì)所述新增應(yīng)用程序各活動(dòng)窗口的窗口參數(shù)。進(jìn)一步地,本發(fā)明提供了一種終端,包括:獲取模塊,用于獲取采集指引信息,所述采集指引信息用于指示采集被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù)的位置;所述被監(jiān)測(cè)活動(dòng)窗口為所述終端當(dāng)前處于運(yùn)行狀態(tài)的應(yīng)用程序的活動(dòng)窗口;采集模塊,用于基于預(yù)先獲取到的所述采集指引信息調(diào)用終端系統(tǒng)的意圖詢問功能,按照預(yù)設(shè)采集策略采集被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù);存儲(chǔ)模塊,用于將采集到的所述窗口參數(shù)存儲(chǔ)到所述終端的本地?cái)?shù)據(jù)庫(kù)。進(jìn)一步地,獲取模塊用于調(diào)用所述終端系統(tǒng)的程序管理服務(wù)掃描所述終端中當(dāng)前已安裝應(yīng)用程序;根據(jù)掃描結(jié)果到所述終端的進(jìn)程列表中查詢當(dāng)前處于運(yùn)行狀態(tài)的各應(yīng)用程序的進(jìn)程信息;基于查詢到的所述進(jìn)程信息確定針對(duì)當(dāng)前處于運(yùn)行狀態(tài)的各所述應(yīng)用程序活動(dòng)窗口的采集指引信息,并存儲(chǔ)記錄所述采集指引信息。有益效果本發(fā)明提供一種信息采集方法及終端,終端先獲取對(duì)采集被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù)起位置指引作用的采集指引信息,然后調(diào)用終端系統(tǒng)的意圖詢問功能,根據(jù)該采集指引信息按照預(yù)設(shè)采集策略對(duì)當(dāng)前處于運(yùn)行狀態(tài)的應(yīng)用程序的活動(dòng)窗口進(jìn)行窗口參數(shù)的采集,并將采集到的窗口參數(shù)存儲(chǔ)到終端本地的數(shù)據(jù)庫(kù)中。本發(fā)明中的應(yīng)用程序采集方案,通過系統(tǒng)意圖詢問功能,使得應(yīng)用程序信息采集過程不受終端系統(tǒng)權(quán)限的限制,從而能夠觸及并采集到應(yīng)用程序中被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù),并將采集到的窗口參數(shù)存儲(chǔ)到終端本地的數(shù)據(jù)庫(kù)中,以供后續(xù)的分析使用。由于采集到的窗口參數(shù)相對(duì)于應(yīng)用程序的基礎(chǔ)信息,表征了終端中應(yīng)用程序的更多細(xì)節(jié),能夠向信息需求對(duì)象提供更多的信息。相應(yīng)的,也就為應(yīng)用程序信息需求對(duì)象的后續(xù)分析利用提供了更厚實(shí)的基礎(chǔ)和更廣闊的平臺(tái)。附圖說明下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明,附圖中:圖1為本發(fā)明第一實(shí)施例中提供的信息采集方法的一種流程圖;圖2為本發(fā)明第一實(shí)施例中終端獲取被監(jiān)測(cè)活動(dòng)窗口的采集指引信息的一種流程圖;圖3為本發(fā)明第二實(shí)施例中所示出的安卓系統(tǒng)中app的一種架構(gòu)圖;圖4為本發(fā)明第二實(shí)施例中提供的信息采集方法的一種流程圖;圖5為本發(fā)明第三實(shí)施例中提供的終端一種結(jié)構(gòu)示意圖;圖6為本發(fā)明第三實(shí)施例中提供的終端另一種結(jié)構(gòu)示意圖;圖7為本發(fā)明第四實(shí)施例中提供的終端一種結(jié)構(gòu)示意圖;圖8為圖7中存儲(chǔ)模塊的一種結(jié)構(gòu)示意圖;圖9為本發(fā)明第五實(shí)施例中提供的移動(dòng)終端一種硬件結(jié)構(gòu)示意圖。具體實(shí)施方式應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明?,F(xiàn)在將參考附圖描述實(shí)現(xiàn)本發(fā)明各個(gè)實(shí)施例的移動(dòng)終端。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身并沒有特定的意義。因此,“模塊”與“部件”可以混合地使用。第一實(shí)施例:本實(shí)施例提供一種信息采集方法,該方法可以針對(duì)終端上運(yùn)行的app進(jìn)行信息采集,并將采集到的數(shù)據(jù)存儲(chǔ)到終端本地的本地?cái)?shù)據(jù)庫(kù),下面結(jié)合附圖1所示出的流程圖對(duì)信息采集方法進(jìn)行詳細(xì)闡述:s102、終端基于預(yù)先獲取到的采集指引信息調(diào)用系統(tǒng)的意圖詢問功能,按照預(yù)設(shè)采集策略采集被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù)。這里所說的采集指引信息是對(duì)一個(gè)app中activity的窗口參數(shù)采集起指引作用的信息,可以理解的是采集指引信息中至少包含對(duì)應(yīng)activity窗口參數(shù)的采集位置,例如針對(duì)某一個(gè)被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù),應(yīng)當(dāng)分別到終端活動(dòng)窗口記錄(activityrecord)、活動(dòng)窗口線程(activitythread)以及活動(dòng)窗口堆棧(activitystack)的哪個(gè)位置進(jìn)行數(shù)據(jù)采集。同時(shí),由于到對(duì)應(yīng)采集位置中采集到的窗口參數(shù)之前必須明確采集對(duì)象是哪一個(gè),所以在采集指引信息中當(dāng)然會(huì)包含被采集對(duì)象的名稱等基礎(chǔ)信息,被采集對(duì)象實(shí)際就是被監(jiān)測(cè)活動(dòng)窗口。終端獲取采集指引信息的方式有這樣兩種:若終端之前已經(jīng)存儲(chǔ)記錄了該被監(jiān)測(cè)活動(dòng)窗口的采集指引信息,也即,在本次信息采集之前,終端可能已經(jīng)對(duì)被監(jiān)測(cè)活動(dòng)窗口進(jìn)行過信息采集了,則終端可以直接提取之前存儲(chǔ)記錄的采集指引信息實(shí)現(xiàn)對(duì)窗口參數(shù)的采集。若終端初次對(duì)某一個(gè)app的activity進(jìn)行窗口參數(shù)采集,在這之前并沒有存儲(chǔ)記錄針對(duì)對(duì)應(yīng)activity的采集指引信息,則終端需要通過查詢自身的進(jìn)程列表(processlist),基于查詢到的進(jìn)程列表信息確定出該app之a(chǎn)ctivity的采集指引信息。下面結(jié)合一個(gè)具體的情景示例對(duì)終端通過第二種方式獲取采集指引信息的過程進(jìn)行介紹:假定終端之前沒有對(duì)自身的任何一個(gè)app進(jìn)行過信息采集,也即之前沒有存儲(chǔ)過任何一個(gè)activity的采集指引信息,則在首次進(jìn)行信息采集之前,終端需要按照?qǐng)D2所示出的流程獲取到各被監(jiān)測(cè)活動(dòng)窗口的采集指引信息:s202、終端調(diào)用系統(tǒng)的程序管理服務(wù)掃描自身當(dāng)前已安裝應(yīng)用程序。在本實(shí)施例中,系統(tǒng)的pms在啟動(dòng)的時(shí)候會(huì)掃描終端中所有已安裝的app,其能夠獲取到已安裝app的名稱、廠家等基本信息。值得注意的是,在pms的掃描結(jié)果中并沒有區(qū)分哪些app是當(dāng)前正在運(yùn)行的,哪些是處于關(guān)閉狀態(tài)的。為了獲得關(guān)于那些當(dāng)前處于運(yùn)行狀態(tài)的app的進(jìn)一步信息,終端需要訪問進(jìn)程列表。s204、終端根據(jù)掃描結(jié)果到進(jìn)程列表中查詢當(dāng)前處于運(yùn)行狀態(tài)的各應(yīng)用程序的進(jìn)程信息。一個(gè)app可以具有一個(gè)或者多個(gè)進(jìn)程,而終端的進(jìn)程列表中包含有當(dāng)前正在運(yùn)行的所有進(jìn)程。進(jìn)程是一個(gè)具有一定獨(dú)立功能的應(yīng)用程序關(guān)于某個(gè)數(shù)據(jù)集合的一次運(yùn)行活動(dòng)。它是操作系統(tǒng)動(dòng)態(tài)執(zhí)行的基本單元,在操作系統(tǒng)中,進(jìn)程既是基本的分配單元,也是基本的執(zhí)行單元。s206、終端基于查詢到的進(jìn)程信息確定針對(duì)當(dāng)前處于運(yùn)行狀態(tài)的各應(yīng)用程序活動(dòng)窗口的采集指引信息。根據(jù)上述介紹,根據(jù)進(jìn)程列表就可以確定出終端中哪些app當(dāng)前處于運(yùn)行狀態(tài)。另一方面,由于進(jìn)程是基本的資源分配單位,所以在終端內(nèi)存當(dāng)中,針對(duì)一個(gè)進(jìn)程所存儲(chǔ)的數(shù)據(jù)在邏輯上是在一起的,根據(jù)進(jìn)程信息也就能夠確定終端系統(tǒng)為該進(jìn)程分配的存儲(chǔ)位置。在此基礎(chǔ)上,基于查詢到的進(jìn)程信息就可以確定出針對(duì)當(dāng)前處于運(yùn)行狀態(tài)的各應(yīng)用程序活動(dòng)窗口的采集指引信息。具體的,終端在基于查詢到的進(jìn)程信息查詢確定采集指引信息時(shí),可以結(jié)合從am(activitymanage,活動(dòng)窗口管理)和ams(activitymanagerservice,活動(dòng)窗口管理服務(wù))中獲取到信息進(jìn)行,在am和ams中記錄了一個(gè)app中各activity間的映射關(guān)系等。將從進(jìn)程信息中確定出的存儲(chǔ)位置和從am和ams中獲取到的映射關(guān)系結(jié)合就能夠確定出針對(duì)每一個(gè)活動(dòng)窗口的數(shù)據(jù)存儲(chǔ)位置,也即能夠確定出詳細(xì)的采集指引信息。s208、終端存儲(chǔ)記錄采集指引信息。當(dāng)確定出針對(duì)某個(gè)app采集指引信息之后,終端會(huì)把該采集指引信息進(jìn)行存儲(chǔ)記錄,以便后續(xù)對(duì)再次對(duì)這些app中的activity進(jìn)行信息采集時(shí)直接使用,節(jié)省信息采集時(shí)間。另外,在終端基于查詢到的進(jìn)程信息確定出采集指引信息后,可以直接根據(jù)該采集指引信息完成對(duì)被監(jiān)測(cè)窗口之窗口參數(shù)的初次采集。在初次采集的過程當(dāng)中,不需要調(diào)用系統(tǒng)的意圖詢問功能。為了便于理解,我們可以將初次信息采集的過程和后續(xù)再次信息采集的過程形象化為這樣一個(gè)過程:假定一本傳記合集當(dāng)中記錄了三個(gè)人物a、b、c的生平,在書本的第1頁(yè)是三個(gè)人物傳記的索引(總索引目錄),例如,第1頁(yè)上記錄了這樣的信息:對(duì)于a的介紹從第2頁(yè)開始;對(duì)于人物b的介紹從第41頁(yè)開始;對(duì)于人物c的介紹從第66頁(yè)開始。另外,假定每個(gè)人物的生平均是按照童年、青年、中年、老年的順序進(jìn)行介紹,而且對(duì)在書本的第2頁(yè)、第41頁(yè)以及第66中分別是這三個(gè)人物生平大事件索引(次級(jí)索引目錄)。若一個(gè)研究b人物青年時(shí)期的學(xué)者將此書當(dāng)作參考資料,則其可以先翻至其第1頁(yè)查詢一下對(duì)于人物b的介紹從何處開始,然后根據(jù)第一頁(yè)的索引將書翻至第41頁(yè),然后從第41頁(yè)所示出的大事件索引中查詢到b青年時(shí)期的介紹從何處開始,假定該學(xué)者查詢后發(fā)現(xiàn)b的青年事跡從第50頁(yè)開始介紹。則學(xué)者可以記錄“50”這個(gè)頁(yè)碼,若以后有查詢需要,可以直接翻至第50頁(yè),進(jìn)行閱讀,而不用再?gòu)目偹饕夸?、次?jí)索引目錄依次進(jìn)行查詢,節(jié)省了該學(xué)者的查詢時(shí)間。同時(shí),可以理解的是,當(dāng)學(xué)者初次查詢到b人物的青年時(shí)期介紹從第50頁(yè)開始時(shí),其也可以根據(jù)該頁(yè)碼直接翻至第50頁(yè)完成初次閱讀。由于本實(shí)施例中終端進(jìn)行信息采集僅針對(duì)那些當(dāng)前正在運(yùn)行的app,所以,被監(jiān)測(cè)活動(dòng)窗口一定是終端中當(dāng)前處于運(yùn)行狀態(tài)的app中的活動(dòng)窗口。但是本實(shí)施例中信息采集時(shí),并不區(qū)分系統(tǒng)自帶app和用戶自行安裝的app,對(duì)于這兩種類型的app,終端都會(huì)一視同仁。例如,一部智能手機(jī)中安裝有三個(gè)app,其中包括一款系統(tǒng)自帶的媒體播放app,如音樂播放器;一款用戶自行安裝的即使即時(shí)通訊app,假定為微信;以及一個(gè)用戶自行安裝的地圖導(dǎo)航app。如果當(dāng)前用戶一邊使用音樂播放器播放著音樂,一邊使用微信與自己的好友進(jìn)行視頻通話。但是由于用戶當(dāng)前不需要導(dǎo)航,所以導(dǎo)航app并沒有被開啟,仍處于關(guān)閉狀態(tài)。針對(duì)該情況,若終端進(jìn)行信息采集,則微信與音樂播放器中的activity可以作為被監(jiān)測(cè)活動(dòng)窗口,但是地圖導(dǎo)航app中的activity卻不可能是當(dāng)前信息采集的對(duì)象,也即當(dāng)前不可能是被監(jiān)測(cè)活動(dòng)窗口。終端在進(jìn)行信息的采集的時(shí)候,可以通過調(diào)用終端系統(tǒng)的意圖詢問功能。以android(安卓)系統(tǒng)為例,intent(意圖)功能主要是解決android應(yīng)用的各項(xiàng)組件之間的通訊。intent負(fù)責(zé)對(duì)應(yīng)用中一次操作的動(dòng)作、動(dòng)作涉及數(shù)據(jù)、附加數(shù)據(jù)進(jìn)行描述,android則根據(jù)此intent的描述,負(fù)責(zé)找到對(duì)應(yīng)的組件,將intent傳遞給調(diào)用的組件,并完成組件的調(diào)用。在android系統(tǒng)中包括pms(packagemanagerservice,程序管理服務(wù)),而在pms下就包括queryintentactivities(活動(dòng)窗口意圖詢問功能)。queryintentactivities是隸屬于終端系統(tǒng)的功能,因此,其具備訪問終端內(nèi)存的能力,所以,能夠完成對(duì)被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù)的采集。終端調(diào)用queryintentactivities對(duì)被監(jiān)測(cè)活動(dòng)窗口實(shí)施信息采集時(shí),只需要將采集指引信息中表征采集位置的信息傳遞給queryintentactivities,queryintentactivities就能根據(jù)該采集指引信息返回對(duì)應(yīng)被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù)。終端采集被監(jiān)測(cè)窗口的窗口參數(shù)時(shí),可以根據(jù)預(yù)設(shè)采集策略進(jìn)行。預(yù)設(shè)采集策略可由終端設(shè)計(jì)人員預(yù)先設(shè)置完成。若需要窗口參數(shù)的人是終端用戶本人,則預(yù)設(shè)采集策略也可由用戶自己設(shè)置。具體的,若預(yù)設(shè)策略要求終端采集被監(jiān)測(cè)活動(dòng)窗口的所有窗口參數(shù),則終端可以控制意圖詢問功能返回被監(jiān)測(cè)活動(dòng)窗口的所有窗口參數(shù)。而如果終端用戶或者終端設(shè)計(jì)人員僅對(duì)app中活動(dòng)窗口的部分?jǐn)?shù)據(jù)感興趣,則意圖詢問功能可以僅對(duì)用戶或者終端設(shè)計(jì)人員感興趣的窗口參數(shù)進(jìn)行采集,或者對(duì)所有的窗口參數(shù)進(jìn)行采集,但是在返回?cái)?shù)據(jù)之前先對(duì)采集到的窗口參數(shù)進(jìn)行篩選。s104、終端將采集到的窗口參數(shù)存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù)。當(dāng)終端采集到窗口參數(shù)之后可以將這些窗口參數(shù)存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù)中,以供用戶自身分析使用。當(dāng)然若需要窗口參數(shù)的是終端廠家或者是其他第三方平臺(tái),則終端也可以在適當(dāng)?shù)臅r(shí)候?qū)⑦@些窗口參數(shù)從本地?cái)?shù)據(jù)庫(kù)中提取出來并傳輸?shù)綄?duì)應(yīng)的服務(wù)器。適當(dāng)?shù)臅r(shí)候指的是終端相對(duì)空閑的時(shí)候,因?yàn)閭鬏斶@些窗口參數(shù)必然要占用終端部分處理資源與網(wǎng)絡(luò)資源,所以為了不影響用戶正常的體驗(yàn),則可以選擇終端任務(wù)較少或者完全空閑的時(shí)候傳輸窗口參數(shù)到服務(wù)器。本實(shí)施例提供的信息采集方法,終端預(yù)先通過調(diào)用程序管理服務(wù)掃描終端中已安裝的app,然后通過查詢進(jìn)程列表查詢能夠表征當(dāng)前正在運(yùn)行的各app的進(jìn)程信息,并基于進(jìn)程信息確定出針對(duì)終端當(dāng)前正在運(yùn)行的各app值活動(dòng)窗口的采集指引信息。在信息采集過程中,終端調(diào)用系統(tǒng)的意圖詢問功能根據(jù)預(yù)先獲取到的采集指引信息到對(duì)應(yīng)位置采集每一個(gè)被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù),然后存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù)中,相對(duì)于現(xiàn)有技術(shù)中只能采集到app名稱、設(shè)計(jì)廠家等基礎(chǔ)信息的信息采集方案而言,本發(fā)明提供的信息采集方案,通過意圖詢問功能和采集指引信息,能夠獲得app等細(xì)節(jié)的信息,能夠?yàn)樾枰私鈇pp信息的用戶、終端廠家或者是其他第三方平臺(tái)提供更多信息。第二實(shí)施例:目前,針對(duì)智能終端比較主流的系統(tǒng)中包括安卓系統(tǒng)、塞班系統(tǒng)、ios系統(tǒng)等,相對(duì)于其他兩種系統(tǒng)而言,安卓系統(tǒng)的應(yīng)用更為廣泛,所以本實(shí)施例中以安卓系統(tǒng)中的信息采集為例對(duì)本發(fā)明的信息采集方法做進(jìn)一步介紹:為了使本領(lǐng)域技術(shù)人員能夠了解安卓系統(tǒng)中的信息采集細(xì)節(jié),所以在介紹信息采集方法之前,先對(duì)安卓系統(tǒng)中的而一些基礎(chǔ)概念進(jìn)行簡(jiǎn)單介紹:安卓app是事件驅(qū)動(dòng)的,且安卓系統(tǒng)具有獨(dú)特的線程機(jī)制、回調(diào)方法和多入口等特性。安卓系統(tǒng)為開發(fā)人員提供4大組件:活動(dòng),activity,其為用戶提供了可以與之進(jìn)行交互的界面,每一個(gè)用戶交互的界面都是一個(gè)activity并且整個(gè)應(yīng)用程序中有一個(gè)mainactivity,即最初用戶啟動(dòng)時(shí)候所進(jìn)入的界面;服務(wù),service,在后臺(tái)執(zhí)行長(zhǎng)時(shí)間運(yùn)行的任務(wù),其他的組件可以開啟并且綁定一個(gè)service;內(nèi)容提供者,contentproviders,提供了在安卓系統(tǒng)中的一種數(shù)據(jù)存儲(chǔ)管理機(jī)制,其它組件可以把必要的數(shù)據(jù)存取在contentproviders中用于和用戶之間信息的交流;廣播,broadcast,用來監(jiān)聽安卓系統(tǒng)所產(chǎn)生的一些活動(dòng),比如接受信息、接受電話等,app會(huì)通過broadcastreceiver接受此類活動(dòng),并通過它可以做出相應(yīng)處理。從圖3所示出的安卓系統(tǒng)中app的架構(gòu)圖可以看出,在安卓系統(tǒng)當(dāng)中,各app的運(yùn)行也是以進(jìn)程31為基本單位進(jìn)行的,同時(shí)對(duì)于資源的分配,同樣以進(jìn)程為單位。pm(packagemanager,程序管理)32和am(activitymanager,活動(dòng)窗口管理)33分別從app的整體和局部對(duì)其進(jìn)行管理。程序管理32對(duì)app的管理是從“宏觀”的角度進(jìn)行的,所以通過調(diào)用程序管理服務(wù)321能夠了解到終端中所有已安裝app的基礎(chǔ)信息。在程序管理服務(wù)321下具有queryintentactivities(活動(dòng)窗口詢問功能)3211,在本實(shí)施例中,活動(dòng)窗口詢問功能3211能夠直接根據(jù)采集指引信息實(shí)現(xiàn)首次信息采集以外的其他信息采集。而活動(dòng)窗口管理33則管理著app活動(dòng)窗口的相關(guān)細(xì)節(jié),例如各個(gè)活動(dòng)窗口的窗口參數(shù)相對(duì)于程序管理32的管理,活動(dòng)窗口管理33更像是從“微觀”上對(duì)app進(jìn)行管理。在活動(dòng)窗口管理33下包括活動(dòng)窗口管理服務(wù)331,而活動(dòng)窗口管理服務(wù)331下又通過活動(dòng)窗口堆棧3311、活動(dòng)窗口線程3312及活動(dòng)窗口記錄3313分別管理著app活動(dòng)窗口各個(gè)方面的參數(shù)。下面請(qǐng)結(jié)合圖4所示出的信息采集方法:s402、終端對(duì)當(dāng)前處于運(yùn)行狀態(tài)的app的活動(dòng)窗口進(jìn)行首次活動(dòng)窗口參數(shù)采集。終端調(diào)用程序管理服務(wù)對(duì)自身已安裝的所有app進(jìn)行掃描,然后查詢進(jìn)程列表,根據(jù)進(jìn)程信息和掃描結(jié)果確定出當(dāng)前處于運(yùn)行狀態(tài)的app有哪些。同時(shí),還可以通過進(jìn)程列表中查詢到的進(jìn)程信息,結(jié)合活動(dòng)窗口管理服務(wù)中的存儲(chǔ)的各個(gè)活動(dòng)窗口之間的映射關(guān)系確定出處于運(yùn)行狀態(tài)的app的各活動(dòng)窗口中的窗口參數(shù)的存儲(chǔ)位置,生成采集指引信息,同時(shí)對(duì)采集指引信息進(jìn)行存儲(chǔ)記錄。由于第一實(shí)施例中已經(jīng)介紹了終端在首次信息采集時(shí)確定采集指引信息的過程,這里不再做詳細(xì)介紹。不過在本實(shí)施例中,終端根據(jù)進(jìn)程信息和映射關(guān)系確定出應(yīng)當(dāng)?shù)交顒?dòng)窗口堆棧、活動(dòng)窗口線程及活動(dòng)窗口記錄的哪些位置去采集各被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù)后,終端可以直接到相應(yīng)位置進(jìn)行首次信息采集。首次信息采集過程不需要調(diào)用queryintentactivities,因?yàn)槭状涡畔⒉杉拖袷且粋€(gè)從app“宏觀”到“微觀”的完整采集過程,不需要通過queryintentactivities根據(jù)窗口參數(shù)的采集位置實(shí)現(xiàn)“跳躍”采集。s404、終端將采集到的窗口參數(shù)存儲(chǔ)到臨時(shí)關(guān)系數(shù)據(jù)結(jié)構(gòu)中。在針對(duì)當(dāng)前處于運(yùn)行狀態(tài)的app進(jìn)行信息采集的過程當(dāng)中,完整的信息采集過程至少會(huì)包含一個(gè)首次信息采集過程,而絕大多數(shù)信息采集過程,可能還會(huì)包括一個(gè)及以上的再次采集過程。在本實(shí)施例中,一次完整的信息采集過程采集到的信息會(huì)在經(jīng)過處理之后再存儲(chǔ)到終端本地?cái)?shù)據(jù)庫(kù)中。所以,針對(duì)每一次單獨(dú)的信息采集的采集結(jié)果,終端會(huì)把它們存儲(chǔ)到臨時(shí)關(guān)系數(shù)據(jù)結(jié)構(gòu)中。臨時(shí)關(guān)系數(shù)據(jù)結(jié)構(gòu)相當(dāng)于一個(gè)存放窗口參數(shù)的臨時(shí)數(shù)據(jù)庫(kù),終端在采集到窗口參數(shù)后,之所以沒有直接通過通用數(shù)據(jù)接口把采集結(jié)果存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù)中,這主要是由于采集到的窗口參數(shù)需要經(jīng)過解析及冗余處理等流程后才能存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù),以便保證終端本地?cái)?shù)據(jù)庫(kù)中存儲(chǔ)的窗口參數(shù)都是有意義的,提升終端本地?cái)?shù)據(jù)庫(kù)容納有用信息的能力。在本實(shí)施例的一種示例當(dāng)中,臨時(shí)關(guān)系數(shù)據(jù)結(jié)構(gòu)可以為hashmap(基于哈希表的map接口的實(shí)現(xiàn))。s406、終端判斷當(dāng)前是否存在應(yīng)用程序的運(yùn)行狀態(tài)由運(yùn)行狀態(tài)到非運(yùn)行狀態(tài)的變化。若判斷結(jié)果為是,則說明原本的處于運(yùn)行狀態(tài)的部分app已經(jīng)不再運(yùn)行了,也就是說有部分被監(jiān)測(cè)活動(dòng)窗口已經(jīng)無(wú)法采集到數(shù)據(jù)了。在這種情況下,可以認(rèn)為當(dāng)前一個(gè)完整的信息采集過程已經(jīng)結(jié)束了,因此可以轉(zhuǎn)至s410。若判斷結(jié)果為否,則應(yīng)當(dāng)繼續(xù)執(zhí)行再次采集過程,即應(yīng)當(dāng)繼續(xù)通過調(diào)用queryintentactivities來進(jìn)行信息采集,執(zhí)行s408。s408、終端調(diào)用queryintentactivities根據(jù)采集信息指引信息對(duì)被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù)進(jìn)行信息采集。終端調(diào)用queryintentactivities進(jìn)行信息采集時(shí),可以采集被監(jiān)測(cè)活動(dòng)窗口的全部窗口參數(shù),也可以僅對(duì)其中部分信息進(jìn)行采集并返回,或者也可以采集全部信息,但在返回之前先進(jìn)行一定的篩選。queryintentactivities返回的信息是針對(duì)某一個(gè)被監(jiān)測(cè)活動(dòng)窗口的,返回的信息相當(dāng)于該被監(jiān)測(cè)活動(dòng)窗口的“檔案”。再次信息采集過程完成后,終端會(huì)又一次執(zhí)行s406。s410、終端從臨時(shí)關(guān)系數(shù)據(jù)結(jié)構(gòu)中提取存儲(chǔ)窗口參數(shù)并進(jìn)行解析處理。終端提取臨時(shí)關(guān)系數(shù)據(jù)結(jié)構(gòu)中的窗口參數(shù)時(shí),可以通過迭代器(iterator)進(jìn)行。迭代器是一種對(duì)象,它能夠用來遍歷標(biāo)準(zhǔn)模板庫(kù)容器中的部分或全部元素,每個(gè)迭代器對(duì)象代表容器中的確定的地址。終端先對(duì)提取出的窗口參數(shù)進(jìn)行信息解析,從這些窗口參數(shù)中可以解析出當(dāng)前在運(yùn)行的app進(jìn)程名稱、uid(app的唯一識(shí)別信息)、nice值、進(jìn)程狀態(tài)、adj值等進(jìn)程相關(guān)信息以及用戶當(dāng)前切到前臺(tái)的app信息,包括app名稱、類型、topactivity(頂級(jí)活動(dòng)窗口信息)相關(guān)信息,topactivity相關(guān)信息包括用戶停留在該app的topactivity的時(shí)長(zhǎng)、開始訪問時(shí)間、離開訪問時(shí)間、用戶訪問時(shí)是否聯(lián)網(wǎng)、網(wǎng)絡(luò)類型、用戶位置、用戶狀態(tài)等信息。s412、終端對(duì)解析處理后的窗口參數(shù)進(jìn)行冗余處理。冗余處理過程主要是為了剔除采集結(jié)果中的無(wú)用部分例如,針對(duì)第一活動(dòng)窗口的狀態(tài)信息,在1:00到5:00中的每個(gè)整點(diǎn)時(shí)分,終端進(jìn)行信息采集。最終采集結(jié)果表明,第一活動(dòng)窗口在1:00到4:00這段時(shí)間內(nèi)的狀態(tài)均為“狀態(tài)1”,而4:00采集到的狀態(tài)則變?yōu)椤盃顟B(tài)0”。若要將這5次采集結(jié)果均進(jìn)行保存,則需要進(jìn)行類似于表1的存儲(chǔ):表1采集時(shí)間1:002:003:004:005:00采集結(jié)果狀態(tài)1狀態(tài)1狀態(tài)1狀態(tài)1狀態(tài)0若不經(jīng)處理,直接對(duì)采集到的窗口參數(shù)進(jìn)行存儲(chǔ),則需要使用較大容量的空間來存儲(chǔ)這5小時(shí)之間第一活動(dòng)窗口的參數(shù)。但是,如果對(duì)這些窗口參數(shù)進(jìn)行冗余處理之后,可以采用表2的形式進(jìn)行存儲(chǔ):表2采集時(shí)間1:00~4:005:00采集結(jié)果狀態(tài)1狀態(tài)0經(jīng)過冗余處理之后,針對(duì)相同的信息量,可以通過更少的存儲(chǔ)空間來容納存儲(chǔ),反言之,即提升了原存儲(chǔ)空間的利用率。s414、終端將處理后的窗口參數(shù)分類寫入到本地?cái)?shù)據(jù)庫(kù)的各分類存儲(chǔ)表中。在終端本地?cái)?shù)據(jù)庫(kù)當(dāng)中,可以包含多個(gè)分類存儲(chǔ)表,這些分類存儲(chǔ)表用于存儲(chǔ)不同的窗口參數(shù)。例如,可以通過“用戶狀態(tài)表”來對(duì)用戶狀態(tài)進(jìn)行定義;通過“app活動(dòng)窗口統(tǒng)計(jì)信息表”來收納某一個(gè)app活動(dòng)窗口的相關(guān)信息;通過“app時(shí)間段表”來記錄用戶在不同時(shí)間段在各app活動(dòng)窗口的停留情況與操作情況等。由此可見,這些分類存儲(chǔ)表決定了窗口參數(shù)在本地?cái)?shù)據(jù)庫(kù)中的存儲(chǔ)類別??梢岳斫獾氖牵翱趨?shù)在本地?cái)?shù)據(jù)庫(kù)中的存儲(chǔ)類別是可以由信息需求對(duì)象決定的,所以,分類存儲(chǔ)表可以由信息需求對(duì)象設(shè)置,例如用戶自定義設(shè)置、第三方平臺(tái)設(shè)置后由用戶下載導(dǎo)入等。另外,終端可以自動(dòng)地將窗口參數(shù)分類存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù)中,而在本實(shí)施例的而一種示例當(dāng)中,用戶可以通過終端的輸入單元控制通用數(shù)據(jù)讀寫接口實(shí)現(xiàn)對(duì)本地?cái)?shù)據(jù)庫(kù)中存儲(chǔ)數(shù)據(jù)的管理。例如,控制窗口參數(shù)的寫入,具體的包括寫入時(shí)間、寫入位置等,或者控制窗口參數(shù)的修改、刪除等。在本實(shí)施例的一種示例當(dāng)中,終端在進(jìn)行信息采集和/或?qū)⒉杉Y(jié)果存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù)的過程當(dāng)中,還會(huì)接收系統(tǒng)的新增通知,新增通知用以告知終端當(dāng)前存在app的狀態(tài)由非運(yùn)行狀態(tài)變?yōu)榱诉\(yùn)行狀態(tài),也即,終端當(dāng)前進(jìn)行信息采集的對(duì)象有了增加。這時(shí)候,終端需要判斷針對(duì)該app的活動(dòng)窗口是否已經(jīng)記錄了采集指引信息,如果已經(jīng)記錄了,則可以直接調(diào)用queryintentactivities按照再次信息采集過程實(shí)現(xiàn)窗口數(shù)據(jù)采集。如果之前并沒有記錄該app互動(dòng)窗口的采集指引信息,則終端需要通過自身的進(jìn)程列表確定該新增app的新增進(jìn)程信息,并基于新增進(jìn)程信息確定針對(duì)該新增app各活動(dòng)窗口的采集指引信息,根據(jù)確定出的采集指引信息實(shí)現(xiàn)窗口參數(shù)采集。本實(shí)施例提供的信息采集方法,不僅可以根據(jù)采集指引信息調(diào)用queryintentactivities實(shí)現(xiàn)對(duì)活動(dòng)窗口之窗口參數(shù)的采集,能夠?yàn)橛脩粢约捌渌枰私鈇pp信息的其他對(duì)象提供更加詳細(xì)的采集結(jié)果。而且終端在將采集到的窗口參數(shù)存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù)之前,會(huì)先對(duì)采集結(jié)果進(jìn)行解析處理、冗余處理等,而且在本地?cái)?shù)據(jù)庫(kù)中以分類存儲(chǔ)表的形式存儲(chǔ)窗口參數(shù),使得采集結(jié)果更加明晰、更直觀,讓需要了解app信息的對(duì)象能夠在以更簡(jiǎn)單的方式了解到更多詳細(xì)的信息。第三實(shí)施例:本實(shí)施例提供一種終端,請(qǐng)參見圖5:終端50包括獲取模塊502、采集模塊504和存儲(chǔ)模塊506,其中獲取模塊502用于獲取采集指引信息,采集模塊504用于基于該采集指引信息調(diào)用系統(tǒng)的意圖詢問功能對(duì)被監(jiān)測(cè)活動(dòng)窗口的數(shù)據(jù)進(jìn)行采集,而存儲(chǔ)模塊506則用于將采集到的窗口參數(shù)存儲(chǔ)到終端50的本地?cái)?shù)據(jù)庫(kù)中。在本實(shí)施例中,獲取模塊502獲取到的采集指引信息是對(duì)一個(gè)app中activity的窗口參數(shù)采集起指引作用的信息,可以理解的是采集指引信息中至少包含對(duì)應(yīng)activity窗口參數(shù)的采集位置,例如針對(duì)某一個(gè)被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù),應(yīng)當(dāng)分別到終端50活動(dòng)窗口記錄、活動(dòng)窗口線程以及活動(dòng)窗口堆棧的哪個(gè)位置進(jìn)行數(shù)據(jù)采集。同時(shí),由于到對(duì)應(yīng)采集位置中采集到的窗口參數(shù)之前必須明確采集對(duì)象是哪一個(gè),所以在采集指引信息中當(dāng)然會(huì)包含被采集對(duì)象的名稱等基礎(chǔ)信息,被采集對(duì)象實(shí)際就是被監(jiān)測(cè)活動(dòng)窗口。獲取模塊502獲取采集指引信息的方式有這樣兩種:若終端50之前已經(jīng)存儲(chǔ)記錄了該被監(jiān)測(cè)活動(dòng)窗口的采集指引信息,也即,在本次信息采集之前,采集模塊504可能已經(jīng)對(duì)被監(jiān)測(cè)活動(dòng)窗口進(jìn)行過信息采集了,則獲取模塊502可以直接提取之前存儲(chǔ)記錄的采集指引信息實(shí)現(xiàn)對(duì)窗口參數(shù)的采集。若采集模塊504初次對(duì)某一個(gè)app的activity進(jìn)行窗口參數(shù)采集,在這之前并沒有存儲(chǔ)記錄針對(duì)對(duì)應(yīng)activity的采集指引信息,則獲取模塊502需要通過查詢終端50的進(jìn)程列表,基于查詢到的進(jìn)程列表信息確定出該app之a(chǎn)ctivity的采集指引信息。下面結(jié)合一個(gè)具體的情景示例對(duì)獲取模塊502通過第二種方式獲取采集指引信息的過程進(jìn)行介紹:假定采集模塊504之前沒有對(duì)自身的任何一個(gè)app進(jìn)行過信息采集,也即之前沒有存儲(chǔ)過任何一個(gè)activity的采集指引信息,則在首次進(jìn)行信息采集之前,獲取模塊502需要先調(diào)用系統(tǒng)的程序管理服務(wù)掃描自身當(dāng)前已安裝應(yīng)用程序。在本實(shí)施例中,系統(tǒng)的pms在啟動(dòng)的時(shí)候會(huì)掃描終端50中所有已安裝的app,其能夠獲取到已安裝app的名稱、廠家等基本信息。值得注意的是,在pms的掃描結(jié)果中并沒有區(qū)分哪些app是當(dāng)前正在運(yùn)行的,哪些是處于關(guān)閉狀態(tài)的。為了獲得關(guān)于那些當(dāng)前處于運(yùn)行狀態(tài)的app的進(jìn)一步信息,獲取模塊502需要訪問進(jìn)程列表。獲取模塊502根據(jù)掃描結(jié)果到進(jìn)程列表中查詢當(dāng)前處于運(yùn)行狀態(tài)的各應(yīng)用程序的進(jìn)程信息。一個(gè)app可以具有一個(gè)或者多個(gè)進(jìn)程,而終端50的進(jìn)程列表中包含有當(dāng)前正在運(yùn)行的所有進(jìn)程。進(jìn)程是一個(gè)具有一定獨(dú)立功能的應(yīng)用程序關(guān)于某個(gè)數(shù)據(jù)集合的一次運(yùn)行活動(dòng)。它是操作系統(tǒng)動(dòng)態(tài)執(zhí)行的基本單元,在操作系統(tǒng)中,進(jìn)程既是基本的分配單元,也是基本的執(zhí)行單元。根據(jù)上述介紹,獲取模塊502根據(jù)進(jìn)程列表就可以確定出終端50中哪些app當(dāng)前處于運(yùn)行狀態(tài)。另一方面,由于進(jìn)程是基本的資源分配單位,所以在終端50內(nèi)存當(dāng)中,針對(duì)一個(gè)進(jìn)程所存儲(chǔ)的數(shù)據(jù)在邏輯上是在一起的,根據(jù)進(jìn)程信息也就能夠確定終端50系統(tǒng)為該進(jìn)程分配的存儲(chǔ)位置。在此基礎(chǔ)上,獲取模塊502基于查詢到的進(jìn)程信息就可以確定出針對(duì)當(dāng)前處于運(yùn)行狀態(tài)的各應(yīng)用程序活動(dòng)窗口的采集指引信息。具體的,獲取模塊502在基于查詢到的進(jìn)程信息查詢確定采集指引信息時(shí),可以結(jié)合從am和ams中獲取到信息進(jìn)行,在am和ams中記錄了一個(gè)app中各activity間的映射關(guān)系等。將從進(jìn)程信息中確定出的存儲(chǔ)位置和從am和ams中獲取到的映射關(guān)系結(jié)合就能夠確定出針對(duì)每一個(gè)活動(dòng)窗口的數(shù)據(jù)存儲(chǔ)位置,也即能夠確定出詳細(xì)的采集指引信息。當(dāng)確定出針對(duì)某個(gè)app采集指引信息之后,獲取模塊502會(huì)把該采集指引信息進(jìn)行存儲(chǔ)記錄,以便后續(xù)對(duì)再次對(duì)這些app中的activity進(jìn)行信息采集時(shí)直接使用,節(jié)省信息采集時(shí)間。另外,在獲取模塊502基于查詢到的進(jìn)程信息確定出采集指引信息后,采集模塊504可以直接根據(jù)該采集指引信息完成對(duì)被監(jiān)測(cè)窗口之窗口參數(shù)的初次采集。在初次采集的過程當(dāng)中,不需要調(diào)用系統(tǒng)的意圖詢問功能。為了便于理解,我們可以將初次信息采集的過程和后續(xù)再次信息采集的過程形象化為這樣一個(gè)過程:假定一本傳記合集當(dāng)中記錄了三個(gè)人物a、b、c的生平,在書本的第1頁(yè)是三個(gè)人物傳記的索引(總索引目錄),例如,第1頁(yè)上記錄了這樣的信息:對(duì)于a的介紹從第2頁(yè)開始;對(duì)于人物b的介紹從第41頁(yè)開始;對(duì)于人物c的介紹從第66頁(yè)開始。另外,假定每個(gè)人物的生平均是按照童年、青年、中年、老年的順序進(jìn)行介紹,而且對(duì)在書本的第2頁(yè)、第41頁(yè)以及第66中分別是這三個(gè)人物生平大事件索引(次級(jí)索引目錄)。若一個(gè)研究b人物青年時(shí)期的學(xué)者將此書當(dāng)作參考資料,則其可以先翻至其第1頁(yè)查詢一下對(duì)于人物b的介紹從何處開始,然后根據(jù)第一頁(yè)的索引將書翻至第41頁(yè),然后從第41頁(yè)所示出的大事件索引中查詢到b青年時(shí)期的介紹從何處開始,假定該學(xué)者查詢后發(fā)現(xiàn)b的青年事跡從第50頁(yè)開始介紹。則學(xué)者可以記錄“50”這個(gè)頁(yè)碼,若以后有查詢需要,可以直接翻至第50頁(yè),進(jìn)行閱讀,而不用再?gòu)目偹饕夸?、次?jí)索引目錄依次進(jìn)行查詢,節(jié)省了該學(xué)者的查詢時(shí)間。同時(shí),可以理解的是,當(dāng)學(xué)者初次查詢到b人物的青年時(shí)期介紹從第50頁(yè)開始時(shí),其也可以根據(jù)該頁(yè)碼直接翻至第50頁(yè)完成初次閱讀。由于本實(shí)施例中采集模塊504進(jìn)行信息采集僅針對(duì)那些當(dāng)前正在運(yùn)行的app,所以,被監(jiān)測(cè)活動(dòng)窗口一定是終端50中當(dāng)前處于運(yùn)行狀態(tài)的app中的活動(dòng)窗口。但是本實(shí)施例中信息采集時(shí),采集模塊504并不區(qū)分系統(tǒng)自帶app和用戶自行安裝的app,對(duì)于這兩種類型的app,采集模塊504都會(huì)一視同仁。例如,一部智能手機(jī)中安裝有三個(gè)app,其中包括一款系統(tǒng)自帶的媒體播放app,如音樂播放器;一款用戶自行安裝的即使即時(shí)通訊app,假定為微信;以及一個(gè)用戶自行安裝的地圖導(dǎo)航app。如果當(dāng)前用戶一邊使用音樂播放器播放著音樂,一邊使用微信與自己的好友進(jìn)行視頻通話。但是由于用戶當(dāng)前不需要導(dǎo)航,所以導(dǎo)航app并沒有被開啟,仍處于關(guān)閉狀態(tài)。針對(duì)該情況,若采集模塊504進(jìn)行信息采集,則微信與音樂播放器中的activity可以作為被監(jiān)測(cè)活動(dòng)窗口,但是地圖導(dǎo)航app中的activity卻不可能是當(dāng)前信息采集的對(duì)象,也即當(dāng)前不可能是被監(jiān)測(cè)活動(dòng)窗口。采集模塊504在進(jìn)行信息的采集的時(shí)候,可以通過調(diào)用終端50系統(tǒng)的意圖詢問功能。以android系統(tǒng)為例,intent功能主要是解決android應(yīng)用的各項(xiàng)組件之間的通訊。intent負(fù)責(zé)對(duì)應(yīng)用中一次操作的動(dòng)作、動(dòng)作涉及數(shù)據(jù)、附加數(shù)據(jù)進(jìn)行描述,android則根據(jù)此intent的描述,負(fù)責(zé)找到對(duì)應(yīng)的組件,將intent傳遞給調(diào)用的組件,并完成組件的調(diào)用。在android系統(tǒng)中包括pms,而在pms下就包括queryintentactivities。queryintentactivities是隸屬于終端50系統(tǒng)的功能,因此,其具備訪問終端50內(nèi)存的能力,所以,能夠完成對(duì)被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù)的采集。采集模塊504調(diào)用queryintentactivities對(duì)被監(jiān)測(cè)活動(dòng)窗口實(shí)施信息采集時(shí),只需要將采集指引信息中表征采集位置的信息傳遞給queryintentactivities,queryintentactivities就能根據(jù)該采集指引信息返回對(duì)應(yīng)被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù)。采集模塊504采集被監(jiān)測(cè)窗口的窗口參數(shù)時(shí),可以根據(jù)預(yù)設(shè)采集策略進(jìn)行。預(yù)設(shè)采集策略可由終端設(shè)計(jì)人員預(yù)先設(shè)置完成。若需要窗口參數(shù)的人是終端用戶本人,則預(yù)設(shè)采集策略也可由用戶自己設(shè)置。具體的,若預(yù)設(shè)策略要求采集模塊504采集被監(jiān)測(cè)活動(dòng)窗口的所有窗口參數(shù),則采集模塊504可以控制意圖詢問功能返回被監(jiān)測(cè)活動(dòng)窗口的所有窗口參數(shù)。而如果終端用戶或者終端設(shè)計(jì)人員僅對(duì)app中活動(dòng)窗口的部分?jǐn)?shù)據(jù)感興趣,則采集模塊504可以通過意圖詢問功能對(duì)用戶或者終端設(shè)計(jì)人員感興趣的窗口參數(shù)進(jìn)行采集,或者對(duì)所有的窗口參數(shù)進(jìn)行采集,但是在返回?cái)?shù)據(jù)之前先對(duì)采集到的窗口參數(shù)進(jìn)行篩選。當(dāng)采集模塊504采集到窗口參數(shù)之后,存儲(chǔ)模塊506可以將這些窗口參數(shù)存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù)中,以供用戶自身分析使用。當(dāng)然若需要窗口參數(shù)的是終端廠家或者是其他第三方平臺(tái),則終端50也可以在適當(dāng)?shù)臅r(shí)候?qū)⑦@些窗口參數(shù)從本地?cái)?shù)據(jù)庫(kù)中提取出來并傳輸?shù)綄?duì)應(yīng)的服務(wù)器。如圖6所示,終端50還包括傳輸模塊508,傳輸模塊508在適當(dāng)?shù)臅r(shí)候?qū)⑦@些窗口參數(shù)從本地?cái)?shù)據(jù)庫(kù)中提取出來并傳輸?shù)綄?duì)應(yīng)的服務(wù)器。適當(dāng)?shù)臅r(shí)候指的是終端50相對(duì)空閑的時(shí)候,因?yàn)閭鬏斶@些窗口參數(shù)必然要占用終端50部分處理資源與網(wǎng)絡(luò)資源,所以為了不影響用戶正常的體驗(yàn),則傳輸模塊508可以選擇終端50任務(wù)較少或者完全空閑的時(shí)候傳輸窗口參數(shù)到服務(wù)器。本實(shí)施例提供的終端,通過預(yù)先調(diào)用程序管理服務(wù)掃描終端中已安裝的app,然后通過查詢進(jìn)程列表查詢能夠表征當(dāng)前正在運(yùn)行的各app的進(jìn)程信息,并基于進(jìn)程信息確定出針對(duì)終端當(dāng)前正在運(yùn)行的各app值活動(dòng)窗口的采集指引信息。在信息采集過程中,終端調(diào)用系統(tǒng)的意圖詢問功能根據(jù)預(yù)先獲取到的采集指引信息到對(duì)應(yīng)位置采集每一個(gè)被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù),然后存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù)中,相對(duì)于現(xiàn)有技術(shù)中只能采集到app名稱、設(shè)計(jì)廠家等基礎(chǔ)信息的信息采集方案而言,本發(fā)明提供的信息采集方案,通過意圖詢問功能和采集指引信息,能夠獲得app等細(xì)節(jié)的信息,能夠?yàn)樾枰私鈇pp信息的用戶、終端廠家或者是其他第三方平臺(tái)提供更多信息。第四實(shí)施例:目前,針對(duì)智能終端比較主流的系統(tǒng)中包括安卓系統(tǒng)、塞班系統(tǒng)、ios系統(tǒng)等,相對(duì)于其他兩種系統(tǒng)而言,安卓系統(tǒng)的應(yīng)用更為廣泛,所以本實(shí)施例中以安卓系統(tǒng)中的信息采集為例對(duì)本發(fā)明的終端做進(jìn)一步介紹:從圖3所示出的安卓系統(tǒng)中app的架構(gòu)圖可以看出,在安卓系統(tǒng)當(dāng)中,各app的運(yùn)行也是以進(jìn)程31為基本單位進(jìn)行的,同時(shí)對(duì)于資源的分配,同樣以進(jìn)程為單位。程序管理32和活動(dòng)窗口管理33分別從app的整體和局部對(duì)其進(jìn)行管理。程序管理32對(duì)app的管理是從“宏觀”的角度進(jìn)行的,所以通過調(diào)用程序管理服務(wù)321能夠了解到終端中所有已安裝app的基礎(chǔ)信息。在程序管理服務(wù)321下具有活動(dòng)窗口詢問功能3211,在本實(shí)施例中,活動(dòng)窗口詢問功能3211能夠直接根據(jù)采集指引信息實(shí)現(xiàn)首次信息采集以外的其他信息采集。而活動(dòng)窗口管理33則管理著app活動(dòng)窗口的相關(guān)細(xì)節(jié),例如各個(gè)活動(dòng)窗口的窗口參數(shù)相對(duì)于程序管理32的管理,活動(dòng)窗口管理33更像是從“微觀”上對(duì)app進(jìn)行管理。在活動(dòng)窗口管理33下包括活動(dòng)窗口管理服務(wù)331,而活動(dòng)窗口管理服務(wù)331下又通過活動(dòng)窗口堆棧3311、活動(dòng)窗口線程3312及活動(dòng)窗口記錄3313分別管理著app活動(dòng)窗口各個(gè)方面的參數(shù)。下面請(qǐng)圖7所示出的終端:終端70包括獲取模塊702、采集模塊704、存儲(chǔ)模塊706。獲取模塊702調(diào)用程序管理服務(wù)對(duì)自身已安裝的所有app進(jìn)行掃面,然后查詢進(jìn)程列表,根據(jù)進(jìn)程信息和掃描結(jié)果確定出當(dāng)前處于運(yùn)行狀態(tài)的app有哪些。同時(shí),還可以通過進(jìn)程列表中查詢到的進(jìn)程信息,結(jié)合活動(dòng)窗口管理服務(wù)中的存儲(chǔ)的各個(gè)活動(dòng)窗口之間的映射關(guān)系確定出處于運(yùn)行狀態(tài)的app的各活動(dòng)窗口中的窗口參數(shù)的存儲(chǔ)位置,生成采集指引信息,同時(shí)對(duì)采集指引信息進(jìn)行存儲(chǔ)記錄。由于第一實(shí)施例中已經(jīng)介紹了獲取模塊702在采集模塊704首次信息采集時(shí)確定采集指引信息的過程,這里不再做詳細(xì)介紹。不過在本實(shí)施例中,獲取模塊702根據(jù)進(jìn)程信息和映射關(guān)系確定出應(yīng)當(dāng)?shù)交顒?dòng)窗口堆棧、活動(dòng)窗口線程及活動(dòng)窗口記錄的哪些位置去采集各被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù)后,采集模塊704可以直接到相應(yīng)位置進(jìn)行首次信息采集。首次信息采集過程不需要調(diào)用queryintentactivities,因?yàn)槭状涡畔⒉杉拖袷且粋€(gè)從app“宏觀”到“微觀”的完整采集過程,不需要通過queryintentactivities根據(jù)窗口參數(shù)的采集位置實(shí)現(xiàn)“跳躍”采集。在針對(duì)當(dāng)前處于運(yùn)行狀態(tài)的app進(jìn)行信息采集的過程當(dāng)中,完整的信息采集過程至少會(huì)包含一個(gè)首次信息采集過程,而絕大多數(shù)信息采集過程,可能還會(huì)包括一個(gè)及以上的再次采集過程。在本實(shí)施例中,存儲(chǔ)模塊706會(huì)在對(duì)一個(gè)完整的信息采集過程中所采集到的所有信息進(jìn)行處理之后再存儲(chǔ)到終端70本地?cái)?shù)據(jù)庫(kù)中。所以,針對(duì)每一次單獨(dú)的信息采集的采集結(jié)果,采集模塊704會(huì)把它們存儲(chǔ)到臨時(shí)關(guān)系數(shù)據(jù)結(jié)構(gòu)中。臨時(shí)關(guān)系數(shù)據(jù)結(jié)構(gòu)相當(dāng)于一個(gè)存放窗口參數(shù)的臨時(shí)數(shù)據(jù)庫(kù),采集模塊704在采集到窗口參數(shù)后,之所以沒有直接通過通用數(shù)據(jù)接口把采集結(jié)果存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù)中,這主要是由于采集到的窗口參數(shù)需要經(jīng)過解析及冗余處理等流程后才能存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù),以便保證終端70本地?cái)?shù)據(jù)庫(kù)中存儲(chǔ)的窗口參數(shù)都是有意義的,提升終端70本地?cái)?shù)據(jù)庫(kù)容納有用信息的能力。在本實(shí)施例的一種示例當(dāng)中,臨時(shí)關(guān)系數(shù)據(jù)結(jié)構(gòu)可以為hashmap。采集模塊704每次采集完窗口參數(shù)之后,都會(huì)判斷當(dāng)前是否存在應(yīng)用程序的運(yùn)行狀態(tài)由運(yùn)行狀態(tài)到非運(yùn)行狀態(tài)的變化。若判斷結(jié)果為是,則說明原本的處于運(yùn)行狀態(tài)的部分app已經(jīng)不再運(yùn)行了,也就是說有部分被監(jiān)測(cè)活動(dòng)窗口已經(jīng)無(wú)法采集到數(shù)據(jù)了。在這種情況下,可以認(rèn)為當(dāng)前一個(gè)完整的信息采集過程已經(jīng)結(jié)束了,因此可以通知存儲(chǔ)模塊706將臨時(shí)關(guān)系數(shù)據(jù)結(jié)構(gòu)中存儲(chǔ)的窗口參數(shù)提取到本地?cái)?shù)據(jù)庫(kù)中。若判斷結(jié)果為否,則采集模塊704應(yīng)當(dāng)繼續(xù)執(zhí)行再次采集過程,即應(yīng)當(dāng)繼續(xù)通過調(diào)用queryintentactivities來進(jìn)行信息采集。在再次信息采集過程當(dāng)中,采集模塊704調(diào)用queryintentactivities根據(jù)采集信息指引信息對(duì)被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù)進(jìn)行信息采集。采集模塊704可以采集被監(jiān)測(cè)活動(dòng)窗口的全部窗口參數(shù),也可以僅對(duì)其中部分信息進(jìn)行采集并返回,或者也可以采集全部信息,但在返回之前先進(jìn)行一定的篩選。queryintentactivities返回的信息是針對(duì)某一個(gè)被監(jiān)測(cè)活動(dòng)窗口的,返回的信息相當(dāng)于該被監(jiān)測(cè)活動(dòng)窗口的“檔案”。再次信息采集過程完成后,采集模塊704會(huì)又一次判斷當(dāng)前是否存在應(yīng)用程序的運(yùn)行狀態(tài)由運(yùn)行狀態(tài)到非運(yùn)行狀態(tài)的變化。若采集模塊704確定當(dāng)前存在應(yīng)用程序的運(yùn)行狀態(tài)由運(yùn)行狀態(tài)到非運(yùn)行狀態(tài)的變化,則存儲(chǔ)模塊706可以通過迭代器提取臨時(shí)關(guān)系數(shù)據(jù)結(jié)構(gòu)中的窗口參數(shù)。迭代器是一種對(duì)象,它能夠用來遍歷標(biāo)準(zhǔn)模板庫(kù)容器中的部分或全部元素,每個(gè)迭代器對(duì)象代表容器中的確定的地址。如圖8所示,存儲(chǔ)模塊706當(dāng)中包括解析處理模塊7061、冗余處理模塊7062和數(shù)據(jù)寫入模塊7063。存儲(chǔ)模塊706用于對(duì)提取出的窗口參數(shù)進(jìn)行信息解析,從這些窗口參數(shù)中可以解析出當(dāng)前在運(yùn)行的app進(jìn)程名稱、uid、nice值、進(jìn)程狀態(tài)、adj值等進(jìn)程相關(guān)信息以及用戶當(dāng)前切到前臺(tái)的app信息,包括app名稱、類型、topactivity相關(guān)信息,topactivity相關(guān)信息包括用戶停留在該app的topactivity的時(shí)長(zhǎng)、開始訪問時(shí)間、離開訪問時(shí)間、用戶訪問時(shí)是否聯(lián)網(wǎng)、網(wǎng)絡(luò)類型、用戶位置、用戶狀態(tài)等信息。冗余處理模塊7062可對(duì)解析處理后的窗口參數(shù)進(jìn)行冗余處理。冗余處理過程主要是為了剔除采集結(jié)果中的無(wú)用部分例如,針對(duì)第一活動(dòng)窗口的狀態(tài)信息,在1:00到5:00中的每個(gè)整點(diǎn)時(shí)分,采集模塊704進(jìn)行信息采集。最終采集結(jié)果表明,第一活動(dòng)窗口在1:00到4:00這段時(shí)間內(nèi)的狀態(tài)均為“狀態(tài)1”,而4:00采集到的狀態(tài)則變?yōu)椤盃顟B(tài)0”。若要將這5次采集結(jié)果均進(jìn)行保存,則需要進(jìn)行類似于表1的存儲(chǔ)。表1中這種不經(jīng)處理,直接對(duì)采集到的窗口參數(shù)進(jìn)行存儲(chǔ)的方案,必然需要使用較大容量的空間來存儲(chǔ)這5小時(shí)之間第一活動(dòng)窗口的參數(shù)。但是,如果對(duì)這些窗口參數(shù)進(jìn)行冗余處理之后,則可以采用如表2的形式進(jìn)行存儲(chǔ)。經(jīng)過冗余處理之后,針對(duì)相同的信息量,可以通過更少的存儲(chǔ)空間來容納存儲(chǔ),反言之,即提升了原存儲(chǔ)空間的利用率。數(shù)據(jù)寫入模塊7063用于將處理后的窗口參數(shù)分類寫入到本地?cái)?shù)據(jù)庫(kù)的各分類存儲(chǔ)表中。在終端70的本地?cái)?shù)據(jù)庫(kù)當(dāng)中,可以包含多個(gè)分類存儲(chǔ)表,這些分類存儲(chǔ)表用于存儲(chǔ)不同的窗口參數(shù)。例如,可以通過“用戶狀態(tài)表”來對(duì)用戶狀態(tài)進(jìn)行定義;通過“app活動(dòng)窗口統(tǒng)計(jì)信息表”來收納某一個(gè)app活動(dòng)窗口的相關(guān)信息;通過“app時(shí)間段表”來記錄用戶在不同時(shí)間段在各app活動(dòng)窗口的停留情況與操作情況等。由此可見,這些分類存儲(chǔ)表決定了窗口參數(shù)在本地?cái)?shù)據(jù)庫(kù)中的存儲(chǔ)類別。可以理解的是,窗口參數(shù)在本地?cái)?shù)據(jù)庫(kù)中的存儲(chǔ)類別是可以由信息需求對(duì)象決定的,所以,分類存儲(chǔ)表可以由信息需求對(duì)象設(shè)置,例如用戶自定義設(shè)置、第三方平臺(tái)設(shè)置后由用戶下載導(dǎo)入等。另外,數(shù)據(jù)寫入模塊7063可以自動(dòng)地將窗口參數(shù)分類存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù)中,而在本實(shí)施例的而一種示例當(dāng)中,用戶可以通過終端70的輸入單元控制數(shù)據(jù)寫入模塊7063通過通用數(shù)據(jù)讀寫接口實(shí)現(xiàn)對(duì)本地?cái)?shù)據(jù)庫(kù)的管理。例如,控制窗口參數(shù)的寫入,具體的包括寫入時(shí)間、寫入位置等,或者控制窗口參數(shù)的修改、刪除等。在本實(shí)施例中,終端70還包括監(jiān)測(cè)模塊708,采集模塊704在進(jìn)行信息采集和/或存儲(chǔ)模塊706將采集結(jié)果存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù)的過程當(dāng)中,監(jiān)測(cè)模塊708還會(huì)接收系統(tǒng)的新增通知,新增通知用以告知終端70中當(dāng)前存在app的狀態(tài)由非運(yùn)行狀態(tài)變?yōu)榱诉\(yùn)行狀態(tài),也即,采集模塊704當(dāng)前進(jìn)行信息采集的對(duì)象有了增加。這時(shí)候,獲取模塊702需要判斷針對(duì)該app的活動(dòng)窗口是否已經(jīng)記錄了采集指引信息,如果已經(jīng)記錄了,則采集模塊704可以直接調(diào)用queryintentactivities按照再次信息采集過程實(shí)現(xiàn)窗口數(shù)據(jù)采集。如果之前并沒有記錄該app互動(dòng)窗口的采集指引信息,則獲取模塊702需要通過自身的進(jìn)程列表確定該新增app的新增進(jìn)程信息,并基于新增進(jìn)程信息確定針對(duì)該新增app各活動(dòng)窗口的采集指引信息,由采集模塊704根據(jù)確定出的采集指引信息實(shí)現(xiàn)窗口參數(shù)采集。本實(shí)施例提供的終端,不僅可以根據(jù)采集指引信息調(diào)用queryintentactivities實(shí)現(xiàn)對(duì)活動(dòng)窗口之窗口參數(shù)的采集,能夠?yàn)橛脩粢约捌渌枰私鈇pp信息的其他對(duì)象提供更加詳細(xì)的采集結(jié)果。而且終端在將采集到的窗口參數(shù)存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù)之前,會(huì)先對(duì)采集結(jié)果進(jìn)行解析處理、冗余處理等,而且在本地?cái)?shù)據(jù)庫(kù)中以分類存儲(chǔ)表的形式存儲(chǔ)窗口參數(shù),使得采集結(jié)果更加明晰、更直觀,讓需要了解app信息的對(duì)象能夠在以更簡(jiǎn)單的方式了解到更多詳細(xì)的信息。第五實(shí)施例:本實(shí)施例在第三實(shí)施例與第四實(shí)施例的基礎(chǔ)上對(duì)本發(fā)明中終端的硬件結(jié)構(gòu)進(jìn)行闡述,本實(shí)施例中的終端可以以各種形式來實(shí)施,諸如移動(dòng)電話、智能電話、筆記本電腦、數(shù)字廣播接收器、pda(個(gè)人數(shù)字助理)、pad(平板電腦)、pmp(便攜式多媒體播放器)、導(dǎo)航裝置等等的移動(dòng)終端。應(yīng)當(dāng)明白的是,固定終端也可作為本實(shí)施例終端的一種實(shí)施形式。下面,假設(shè)終端是移動(dòng)終端,請(qǐng)參考圖9所示出的一個(gè)可選的移動(dòng)終端的硬件結(jié)構(gòu)示意圖:移動(dòng)終端900可以包括無(wú)線通信單元910、感測(cè)單元920、存儲(chǔ)器930、控制器940等等。圖9示出了移動(dòng)終端的部分組件,但是應(yīng)理解的是,并不要求實(shí)施所有示出的組件,可以替代地實(shí)施更多或更少的組件,將在下面詳細(xì)描述移動(dòng)終端的元件。無(wú)線通信單元910通常包括一個(gè)或多個(gè)組件,其允許移動(dòng)終端900與無(wú)線通信系統(tǒng)或網(wǎng)絡(luò)之間的無(wú)線電通信。例如,無(wú)線通信單元910可以包括移動(dòng)通信模塊911、無(wú)線互聯(lián)網(wǎng)模塊912等。移動(dòng)通信模塊911將無(wú)線電信號(hào)發(fā)送到基站(例如,接入點(diǎn)等等)、外部終端以及服務(wù)器中的至少一個(gè)和/或從其接收無(wú)線電信號(hào)。這樣的無(wú)線電信號(hào)可以包括語(yǔ)音通話信號(hào)、視頻通話信號(hào)、或者根據(jù)文本和/或多媒體消息發(fā)送和/或接收的各種類型的數(shù)據(jù)。無(wú)線互聯(lián)網(wǎng)模塊912支持移動(dòng)終端的無(wú)線互聯(lián)網(wǎng)接入。該模塊可以內(nèi)部或外部地耦接到終端。該模塊所涉及的無(wú)線互聯(lián)網(wǎng)接入技術(shù)可以包括wlan(無(wú)線lan)(wi-fi)、wibro(無(wú)線寬帶)、wimax(全球微波互聯(lián)接入)、hsdpa(高速下行鏈路分組接入)等等。在本實(shí)施例中,若移動(dòng)終端中采集到的窗口參數(shù)需要被傳輸?shù)降谌狡脚_(tái)或移動(dòng)終端廠商所提供的服務(wù)器時(shí),無(wú)線通信單元910可在控制器940的控制下,選擇移動(dòng)終端900較為空閑時(shí)段完成窗口參數(shù)的傳輸,以供第三方平臺(tái)或移動(dòng)終端廠商對(duì)接收到的窗口參數(shù)進(jìn)行統(tǒng)計(jì)分析,并在此基礎(chǔ)上實(shí)現(xiàn)其他應(yīng)用功能的設(shè)計(jì)開發(fā)。由于移動(dòng)運(yùn)營(yíng)商提供的數(shù)據(jù)流量基本都收費(fèi)昂貴,所以為了避免窗口參數(shù)的傳輸給用戶帶來較重的經(jīng)濟(jì)負(fù)擔(dān),本實(shí)施例中可以由無(wú)線互聯(lián)網(wǎng)模塊912在移動(dòng)終端處于wifi環(huán)境下時(shí)進(jìn)行數(shù)據(jù)傳輸。感測(cè)單元920檢測(cè)移動(dòng)終端900的當(dāng)前狀態(tài),(例如,移動(dòng)終端900的打開或關(guān)閉狀態(tài))、移動(dòng)終端900的位置、用戶對(duì)于移動(dòng)終端900的接觸(即,觸摸輸入)的有無(wú)、移動(dòng)終端900的取向、移動(dòng)終端900的加速或減速移動(dòng)和方向等等,并且生成用于控制移動(dòng)終端900的操作的命令或信號(hào)。例如,當(dāng)移動(dòng)終端900實(shí)施為滑動(dòng)型移動(dòng)電話時(shí),感測(cè)單元920可以感測(cè)該滑動(dòng)型電話是打開還是關(guān)閉。在本實(shí)施例中,若要求采集的窗口參數(shù)不僅包括活動(dòng)窗口的各項(xiàng)具體參數(shù),還包括用戶停留在該活動(dòng)窗口的運(yùn)動(dòng)狀態(tài)時(shí),移動(dòng)終端900可以通過感測(cè)單元920來檢測(cè)用戶的運(yùn)動(dòng)狀態(tài),并由控制器940根據(jù)預(yù)先確定的劃分規(guī)則確定用戶是處于“慢走狀態(tài)”、“快走狀態(tài)”還是“靜止?fàn)顟B(tài)”。存儲(chǔ)器930可以存儲(chǔ)由控制器940執(zhí)行的處理和控制操作的軟件程序等等,或者可以暫時(shí)地存儲(chǔ)己經(jīng)輸出或?qū)⒁敵龅臄?shù)據(jù)(例如,電話簿、消息、靜態(tài)圖像、視頻等等)。而且,存儲(chǔ)器930可以存儲(chǔ)關(guān)于當(dāng)觸摸施加到觸摸屏?xí)r輸出的各種方式的振動(dòng)和音頻信號(hào)的數(shù)據(jù)。存儲(chǔ)器930可以包括至少一種類型的存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)包括閃存、硬盤、多媒體卡、卡型存儲(chǔ)器(例如,sd或dx存儲(chǔ)器等等)、隨機(jī)訪問存儲(chǔ)器(ram)、靜態(tài)隨機(jī)訪問存儲(chǔ)器(sram)、只讀存儲(chǔ)器(rom)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、可編程只讀存儲(chǔ)器(prom)、磁性存儲(chǔ)器、磁盤、光盤等等。而且,移動(dòng)終端900可以與通過網(wǎng)絡(luò)連接執(zhí)行存儲(chǔ)器930的存儲(chǔ)功能的網(wǎng)絡(luò)存儲(chǔ)裝置協(xié)作。本實(shí)施例中用于存儲(chǔ)窗口參數(shù)的本地?cái)?shù)據(jù)庫(kù)和臨時(shí)關(guān)系數(shù)據(jù)結(jié)構(gòu)均可以設(shè)置在存儲(chǔ)器930上,具體的,控制器940可以為本地?cái)?shù)據(jù)庫(kù)和臨時(shí)關(guān)系數(shù)據(jù)結(jié)構(gòu)分配不同的存儲(chǔ)位置和存儲(chǔ)空間大小。控制器940通常用于控制移動(dòng)終端100的總體操作。本發(fā)明第三實(shí)施例及第四實(shí)施例中的獲取模塊、采集模塊、監(jiān)測(cè)模塊的功能均可以通過控制器940來實(shí)現(xiàn),而存儲(chǔ)模塊的功能則可以由控制器940控制存儲(chǔ)器930實(shí)現(xiàn)。而第三實(shí)施例中的傳輸模塊的功能可由無(wú)線通信單元910在控制器940的控制下實(shí)現(xiàn)。具體地,在移動(dòng)終端900初次對(duì)自身的app進(jìn)行信息采集時(shí),控制器940調(diào)用程序管理服務(wù)對(duì)已安裝的所有app進(jìn)行掃描,然后查詢進(jìn)程列表,通過進(jìn)程列表中查詢到的進(jìn)程信息,結(jié)合活動(dòng)窗口管理服務(wù)中的存儲(chǔ)的各個(gè)活動(dòng)窗口之間的映射關(guān)系確定出處于運(yùn)行狀態(tài)的app的各活動(dòng)窗口中的窗口參數(shù)的存儲(chǔ)位置,生成采集指引信息,同時(shí)將采集指引信息存儲(chǔ)記錄到存儲(chǔ)器930中。在此之后,移動(dòng)終端900的控制器可以直接調(diào)用queryintentactivities根據(jù)存儲(chǔ)器930中的采集指引信息返回窗口參數(shù)??刂破?40采集到窗口參數(shù)之后,會(huì)將窗口參數(shù)存儲(chǔ)到設(shè)置在存儲(chǔ)器930里的臨時(shí)關(guān)系數(shù)據(jù)結(jié)構(gòu)中。當(dāng)一個(gè)完整的信息采集過程結(jié)束后,控制器940從臨時(shí)關(guān)系數(shù)據(jù)結(jié)構(gòu)中提取出采集到的信息,進(jìn)行解析處理及冗余處理之后,再將窗口參數(shù)寫入到存儲(chǔ)器930中的本地?cái)?shù)據(jù)庫(kù),并且在本地?cái)?shù)據(jù)庫(kù)中,窗口參數(shù)是被記錄到分類存儲(chǔ)表上的。這里描述的各種實(shí)施方式可以以使用例如計(jì)算機(jī)軟件、硬件或其任何組合的計(jì)算機(jī)可讀介質(zhì)來實(shí)施。對(duì)于硬件實(shí)施,這里描述的實(shí)施方式可以通過使用特定用途集成電路(asic)、數(shù)字信號(hào)處理器(dsp)、數(shù)字信號(hào)處理裝置(dspd)、可編程邏輯裝置(pld)、現(xiàn)場(chǎng)可編程門陣列(fpga)、處理器、控制器、微控制器、微處理器、被設(shè)計(jì)為執(zhí)行這里描述的功能的電子單元中的至少一種來實(shí)施,在一些情況下,這樣的實(shí)施方式可以在控制器940中實(shí)施。對(duì)于軟件實(shí)施,諸如過程或功能的實(shí)施方式可以與允許執(zhí)行至少一種功能或操作的單獨(dú)的軟件模塊來實(shí)施。軟件代碼可以由以任何適當(dāng)?shù)木幊陶Z(yǔ)言編寫的軟件應(yīng)用程序(或程序)來實(shí)施,軟件代碼可以存儲(chǔ)在存儲(chǔ)器930中并且由控制器940執(zhí)行。至此,己經(jīng)按照其功能描述了移動(dòng)終端。下面,為了簡(jiǎn)要起見,將描述諸如折疊型、直板型、擺動(dòng)型、滑動(dòng)型移動(dòng)終端等等的各種類型的移動(dòng)終端中的滑動(dòng)型移動(dòng)終端作為示例。因此,本發(fā)明能夠應(yīng)用于任何類型的移動(dòng)終端,并且不限于滑動(dòng)型移動(dòng)終端。本實(shí)施例中提供的移動(dòng)終端,由控制器先獲取對(duì)采集被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù)起位置指引作用的采集指引信息,然后調(diào)用終端系統(tǒng)的意圖詢問功能,根據(jù)該采集指引信息按照預(yù)設(shè)采集策略對(duì)當(dāng)前處于運(yùn)行狀態(tài)的app的活動(dòng)窗口進(jìn)行窗口參數(shù)的采集,并將采集到的窗口參數(shù)存儲(chǔ)到存儲(chǔ)器中。通過系統(tǒng)意圖詢問功能,使得app信息采集過程不受系統(tǒng)權(quán)限的限制,從而能夠觸及并采集到app中被監(jiān)測(cè)活動(dòng)窗口的窗口參數(shù)。另外,由于采集到的窗口參數(shù)相對(duì)于app的基礎(chǔ)信息,表征了移動(dòng)終端中app的更多細(xì)節(jié),能夠向信息需求對(duì)象提供更多的信息。需要說明的是,在本文中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。上面結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行了描述,但是本發(fā)明并不局限于上述的具體實(shí)施方式,上述的具體實(shí)施方式僅僅是示意性的,而不是限制性的,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明宗旨和權(quán)利要求所保護(hù)的范圍情況下,還可做出很多形式,這些均屬于本發(fā)明的保護(hù)之內(nèi)。當(dāng)前第1頁(yè)12