專利名稱:基于安卓瀏覽器的插件管理方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于瀏覽器插件處理領(lǐng)域,尤其涉及基于安卓瀏覽器的插件管理方法及系統(tǒng)。
背景技術(shù):
近年來,隨著安卓Android手機的普及,搭載Android系統(tǒng)的Android智能電視正成為彩電行業(yè)的焦點。像Android手機一樣,Android智能電視搭載有Android操作系統(tǒng), 用戶通過Android智能電視可以運行瀏覽器,可像在PC上一樣自由上網(wǎng)沖浪。并且隨著越來越多的開發(fā)者參與開發(fā)Android這一開放平臺,使得更多的Android瀏覽器插件被開發(fā)出來以滿足日益劇增的需求,從而使用戶能夠更加方便地瀏覽網(wǎng)頁。在Android瀏覽器或不同的網(wǎng)頁中存在許多特定類型的文件,調(diào)用這些特定類型的文件時需要在瀏覽器中安裝相關(guān)的插件,這樣,瀏覽器才能通過直接調(diào)用安裝的插件程序來處理相應(yīng)的文件類型。但是,由于目前的Android智能電視搭載的系統(tǒng)是專用的 Android系統(tǒng),而該Android系統(tǒng)中的Android服務(wù)器是不支持插件的下載安裝管理的,因此在Android瀏覽器有插件需要時,即使該Android瀏覽器掃描到需求的插件,也不能實現(xiàn)對插件的下載安裝管理,從而降低用戶在網(wǎng)上沖浪的效果,降低了用戶體驗。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種基于安卓瀏覽器的插件管理方法,旨在解決現(xiàn)有的 Android服務(wù)器不支持插件的下載安裝管理,從而降低了用戶體驗的問題。本發(fā)明實施例是這樣實現(xiàn)的,一種基于安卓瀏覽器的插件管理方法,所述方法包括下述步驟Android瀏覽器接收用戶根據(jù)彈出的命令窗口輸入的操作命令,并將接收的操作命令發(fā)送給VC插件接口,所述操作命令包括下載安裝安卓插件命令、卸載插件命令以及停止服務(wù)命令;所述VC插件接口接收到所述Android瀏覽器發(fā)送的操作命令后,使用C語言調(diào)用預(yù)設(shè)的Java接口中與接收的操作命令對應(yīng)的函數(shù)方法,以便將接收的操作命令發(fā)送給該預(yù)設(shè)的Java接口 ;所述預(yù)設(shè)的Java接口從被調(diào)用的函數(shù)方法中獲取所述VC插件接口發(fā)送的操作命令,并將獲取的操作命令發(fā)送給Android服務(wù)器;所述Android服務(wù)器接收到所述預(yù)設(shè)的Java接口發(fā)送的操作命令后,作出相應(yīng)的響應(yīng),并將插件下載安裝或插件卸載的狀態(tài)信息寫入插件狀態(tài)文本中,所述響應(yīng)包括創(chuàng)建插件存放路徑、刪除插件文件、讀插件文件、寫插件文件的任一種;所述預(yù)設(shè)的Java接口通過狀態(tài)獲取函數(shù)從插件狀態(tài)文本中獲取插件的狀態(tài)信息,并將該狀態(tài)信息發(fā)送給所述VC插件接口,所述狀態(tài)信息包括插件下載成功、插件下載失敗、修改文件權(quán)限失敗、插件安裝成功、插件卸載成功、狀態(tài)文本不存在以及鏈接失敗的任一種;所述VC插件接口接收所述預(yù)設(shè)的Java接口發(fā)送的狀態(tài)信息,并將該狀態(tài)信息轉(zhuǎn)發(fā)至所述Android瀏覽器;所述Android瀏覽器接收并顯示VC插件接口轉(zhuǎn)發(fā)的狀態(tài)信息。本發(fā)明實施例的另一目的在于提供基于安卓瀏覽器的插件管理系統(tǒng),所述系統(tǒng)包括操作命令發(fā)送單元,用于Android瀏覽器接收用戶根據(jù)彈出的命令窗口輸入的操作命令,并將接收的操作命令發(fā)送給VC插件接口,所述操作命令包括下載安裝安卓插件命令、卸載插件命令以及停止服務(wù)命令;第一操作命令轉(zhuǎn)發(fā)單元,用于所述VC插件接口接收到所述Android瀏覽器發(fā)送的操作命令后,使用C語言調(diào)用預(yù)設(shè)的Java接口中與接收的操作命令對應(yīng)的函數(shù)方法,以便將接收的操作命令發(fā)送給該預(yù)設(shè)的Java接口 ;第二操作命令轉(zhuǎn)發(fā)單元,用于所述預(yù)設(shè)的Java接口從被調(diào)用的函數(shù)方法中獲取所述VC插件接口發(fā)送的操作命令,并將獲取的操作命令發(fā)送給Android服務(wù)器;操作命令響應(yīng)單元,用于所述Android服務(wù)器接收到所述預(yù)設(shè)的Java接口發(fā)送的操作命令后,作出相應(yīng)的響應(yīng),并將插件下載安裝或插件卸載的狀態(tài)信息寫入插件狀態(tài)文本中,所述響應(yīng)包括創(chuàng)建插件存放路徑、刪除插件文件、讀插件文件、寫插件文件的任一種;狀態(tài)信息獲取單元,用于所述預(yù)設(shè)的Java接口通過狀態(tài)獲取函數(shù)從插件狀態(tài)文本中獲取插件的狀態(tài)信息,并將該狀態(tài)信息發(fā)送給所述VC插件接口,所述狀態(tài)信息包括插件下載成功、插件下載失敗、修改文件權(quán)限失敗、插件安裝成功、插件卸載成功、狀態(tài)文本不存在以及鏈接失敗的任一種;狀態(tài)信息轉(zhuǎn)發(fā)單元,用于所述VC插件接口接收所述預(yù)設(shè)的Java接口發(fā)送的狀態(tài)信息,并將該狀態(tài)信息轉(zhuǎn)發(fā)至所述Android瀏覽器;狀態(tài)信息顯示單元,用于所述Android瀏覽器接收并顯示VC插件接口轉(zhuǎn)發(fā)的狀態(tài)信息。在本發(fā)明實施例中,通過增加預(yù)設(shè)的Java接口連接VC插件接口和Android服務(wù)器,使得Android瀏覽器和Android服務(wù)器可以自由通訊,并且由于Android服務(wù)器對操作命令的響應(yīng)包括創(chuàng)建插件存放路徑、刪除插件文件、讀插件文件、寫插件文件的任一種,實現(xiàn)了插件的下載安裝管理,因此提高了用戶網(wǎng)上沖浪的效果,提高了用戶的良好體驗。
圖I是本發(fā)明基于Android瀏覽器的插件管理方法第一實施例提供的Android瀏覽器與Android服務(wù)器交互圖;圖2是本發(fā)明基于Android瀏覽器的插件管理方法第一實施例提供的預(yù)設(shè)的Java 接口將獲取的操作命令發(fā)送給Android服務(wù)器的具體流程圖;圖3是本發(fā)明基于Android瀏覽器的插件管理方法第一實施例提供的Android服務(wù)器對操作命令作出響應(yīng),并將插件狀態(tài)信息寫入插件狀態(tài)文本的具體流程圖;圖4是本發(fā)明基于Android瀏覽器的插件管理方法第一實施例提供的Android服務(wù)器根據(jù)下載安裝安卓插件服務(wù)句柄響應(yīng)接收的操作命令,并將插件狀態(tài)信息寫入插件狀態(tài)文本的的具體流程圖;圖5是本發(fā)明基于Android瀏覽器的插件管理方法第一實施例提供的Android服務(wù)器根據(jù)卸載安卓插件服務(wù)句柄響應(yīng)接收的操作命令,并將插件狀態(tài)信息寫入插件狀態(tài)文本的的具體流程圖;圖6是本發(fā)明基于Android瀏覽器的插件管理系統(tǒng)第二實施例提供的結(jié)構(gòu)圖;圖7是本發(fā)明基于Android瀏覽器的插件管理系統(tǒng)第二實施例提供的另一種結(jié)構(gòu)圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實施例中,Android瀏覽器通過調(diào)用VC插件接口向預(yù)設(shè)的Java接口發(fā)送操作命令,以使該預(yù)設(shè)的Java接口將接收的操作命令轉(zhuǎn)發(fā)至Android服務(wù)器,使得該Android 服務(wù)器根據(jù)接收的操作命令作出相應(yīng)的響應(yīng),并將響應(yīng)操作命令后的插件的狀態(tài)信息寫入插件狀態(tài)文本中,該預(yù)設(shè)的Java接口再從插件狀態(tài)文本中獲取插件的狀態(tài)信息,并將該狀態(tài)信息發(fā)送至VC插件接口,以使該VC插件接口轉(zhuǎn)發(fā)至Android瀏覽器顯示。本發(fā)明實施例提供了一種基于安卓瀏覽器的插件管理方法及系統(tǒng)。所述方法包括=Android瀏覽器接收用戶根據(jù)彈出的命令窗口輸入的操作命令, 并將接收的操作命令發(fā)送給VC插件接口,所述操作命令包括下載安裝安卓插件命令、卸載插件命令以及停止服務(wù)命令;所述VC插件接口接收到所述Android瀏覽器發(fā)送的操作命令后,使用C語言調(diào)用預(yù)設(shè)的Java接口中與接收的操作命令對應(yīng)的函數(shù)方法,以便將接收的操作命令發(fā)送給該預(yù)設(shè)的Java接口 ;所述預(yù)設(shè)的Java接口從被調(diào)用的函數(shù)方法中獲取所述VC插件接口發(fā)送的操作命令,并將獲取的操作命令發(fā)送給Android服務(wù)器;所述Android服務(wù)器接收到所述預(yù)設(shè)的Java接口發(fā)送的操作命令后,作出相應(yīng)的響應(yīng),并將插件下載安裝或插件卸載的狀態(tài)信息寫入插件狀態(tài)文本中,所述響應(yīng)包括創(chuàng)建插件存放路徑、刪除插件文件、讀插件文件、寫插件文件的任一種;所述預(yù)設(shè)的Java接口通過狀態(tài)獲取函數(shù)從插件狀態(tài)文本中獲取插件的狀態(tài)信息,并將該狀態(tài)信息發(fā)送給所述VC插件接口,所述狀態(tài)信息包括插件下載成功、插件下載失敗、修改文件權(quán)限失敗、插件安裝成功、插件卸載成功、狀態(tài)文本不存在以及鏈接失敗的任一種;所述VC插件接口接收所述預(yù)設(shè)的Java接口發(fā)送的狀態(tài)信息,并將該狀態(tài)信息轉(zhuǎn)發(fā)至所述Android瀏覽器;所述Android瀏覽器接收并顯示VC插件接口轉(zhuǎn)發(fā)的狀態(tài)信息。所述系統(tǒng)包括操作命令發(fā)送單元,用于Android瀏覽器接收用戶根據(jù)彈出的命令窗口輸入的操作命令,并將接收的操作命令發(fā)送給VC插件接口,所述操作命令包括下載
8安裝安卓插件命令、卸載插件命令以及停止服務(wù)命令;第一操作命令轉(zhuǎn)發(fā)單元,用于所述VC插件接口接收到所述Android瀏覽器發(fā)送的操作命令后,使用C語言調(diào)用預(yù)設(shè)的Java接口中與接收的操作命令對應(yīng)的函數(shù)方法,以便將接收的操作命令發(fā)送給該預(yù)設(shè)的Java接口 ;第二操作命令轉(zhuǎn)發(fā)單元,用于所述預(yù)設(shè)的Java接口從被調(diào)用的函數(shù)方法中獲取所述VC插件接口發(fā)送的操作命令,并將獲取的操作命令發(fā)送給Android服務(wù)器;操作命令響應(yīng)單元,用于所述Android服務(wù)器接收到所述預(yù)設(shè)的Java接口發(fā)送的操作命令后,作出相應(yīng)的響應(yīng),并將插件下載安裝或插件卸載的狀態(tài)信息寫入插件狀態(tài)文本中,所述響應(yīng)包括創(chuàng)建插件存放路徑、刪除插件文件、讀插件文件、寫插件文件的任一種;狀態(tài)信息獲取單元,用于所述預(yù)設(shè)的Java接口通過狀態(tài)獲取函數(shù)從插件狀態(tài)文本中獲取插件的狀態(tài)信息,并將該狀態(tài)信息發(fā)送給所述VC插件接口,所述狀態(tài)信息包括插件下載成功、插件下載失敗、修改文件權(quán)限失敗、插件安裝成功、插件卸載成功、狀態(tài)文本不存在以及鏈接失敗的任一種;狀態(tài)信息轉(zhuǎn)發(fā)單元,用于所述VC插件接口接收所述預(yù)設(shè)的Java接口發(fā)送的狀態(tài)信息,并將該狀態(tài)信息轉(zhuǎn)發(fā)至所述Android瀏覽器;狀態(tài)信息顯示單元,用于所述Android瀏覽器接收并顯示VC插件接口轉(zhuǎn)發(fā)的狀態(tài)信息。在本發(fā)明實施例中,通過增加預(yù)設(shè)的Java接口連接VC插件接口和Android服務(wù)器,使得Android瀏覽器和Android服務(wù)器可以自由通訊,并且由于Android服務(wù)器對操作命令的響應(yīng)包括創(chuàng)建插件存放路徑、刪除插件文件、讀插件文件、寫插件文件的任一種,實現(xiàn)了插件的下載安裝管理,因此提高了用戶網(wǎng)上沖浪的效果,提高了用戶的良好體驗。為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實施例來進行說明。實施例一:圖I示出了本發(fā)明基于Android瀏覽器的插件管理方法第一實施例提供的 Android瀏覽器與Android服務(wù)器交互圖,詳述如下I、Android瀏覽器接收用戶根據(jù)彈出的命令窗口輸入的操作命令,并將接收的操作命令發(fā)送給VC (Visual C++)插件接口,其中,該操作命令包括下載安裝安卓插件命令、卸載插件命令以及停止服務(wù)命令。本實施例中,安卓插件文件為安卓安裝包(Android Package, apk),下載安裝插件命令相當于下載安裝apk文件。對于Android瀏覽器上插件的下載安裝或卸載或停止服務(wù),該Android瀏覽器首先會將接收的下載安裝安卓插件或卸載安卓插件或停止服務(wù)命令發(fā)送給VC插件接口。用戶根據(jù)顯示在Android瀏覽器網(wǎng)頁上的命令窗口輸入相應(yīng)的操作命令,比如,當顯示的命令窗口為選擇是否下載安裝安卓插件操作命令時,用戶可以輸入下載安裝安卓插件的操作命令,這時,Android瀏覽器接收該下載安裝安卓插件的操作命令, 并將該下載安裝安卓插件的操作命令發(fā)送給VC插件接口。2、VC插件接口接收到Android瀏覽器發(fā)送的操作命令后,使用C語言調(diào)用預(yù)設(shè)的 Java接口中與接收的操作命令對應(yīng)的函數(shù)方法,以便將接收的操作命令發(fā)送給該預(yù)設(shè)的 Java 接口。
本實施例中,C語言層通過VC插件接口與預(yù)設(shè)的Java接口進行通訊。VC插件接口接收Android瀏覽器發(fā)送的下載安裝安卓插件、卸載安卓插件、停止服務(wù)中的任一種操作命令,并根據(jù)接收的操作命令調(diào)用預(yù)設(shè)的Java接口中與該操作命令對應(yīng)的函數(shù)方法,比如,在VC插件接口接收的操作命令為下載安裝安卓插件命令時,調(diào)用java接口中的下載安裝安卓插件函數(shù)方法;在%插件接口接收的操作命令為卸載安卓插件命令時,調(diào)用java接口中的卸載安卓插件函數(shù)方法,以通過調(diào)用與操作命令對應(yīng)的函數(shù)方法將接收的操作命令發(fā)送給預(yù)設(shè)的Java接口。在本實施例中,VC插件接口調(diào)用與接收的操作命令對應(yīng)的函數(shù)方法的過程具體包括加載緩存中函數(shù)方法的java包;再獲取該函數(shù)方法的構(gòu)造函數(shù)、參數(shù)及方法名;根據(jù)加載的java包、構(gòu)造函數(shù)、參數(shù)及方法名調(diào)用相應(yīng)的函數(shù)方法。3、預(yù)設(shè)的Java接口從被調(diào)用的函數(shù)方法中獲取VC插件接口發(fā)送的操作命令,并將獲取的操作命令發(fā)送給Android服務(wù)器。本實施例中,預(yù)設(shè)的Java接口從被VC插件接口調(diào)用的函數(shù)方法中獲取該VC插件接口發(fā)送的操作命令,該操作命令包括下載安裝安卓插件、卸載安卓插件、停止服務(wù)中的任一種,比如預(yù)設(shè)的Java接口從下載安裝函數(shù)方法中獲取下載安裝安卓插件命令等。當預(yù)設(shè)的Java接口獲取到操作命令后,將獲取的操作命令發(fā)送給Android服務(wù)器。4、Android服務(wù)器接收到預(yù)設(shè)的Java接口發(fā)送的操作命令后,作出相應(yīng)的響應(yīng), 并將插件下載安裝或插件卸載的狀態(tài)信息寫入插件狀態(tài)文本中,其中,該響應(yīng)包括創(chuàng)建插件存放路徑、刪除插件文件、讀插件文件、寫插件文件的任一種。本實施例中,Android服務(wù)器根據(jù)接收的操作命令作出相應(yīng)的響應(yīng),并將響應(yīng)后的狀態(tài)信息寫入插件狀態(tài)文件中。其中,響應(yīng)后的狀態(tài)信息包括插件下載安裝是否成功,插件卸載是否成功等信息。比如,當Android服務(wù)器接收的操作命令為下載安裝命令時,該 Android服務(wù)器將創(chuàng)建插件存放路徑,并下載相應(yīng)的插件文件,再將下載的插件文件存入創(chuàng)建的插件存放路徑中,在安裝下載的插件文件時,從創(chuàng)建的插件存放路徑中讀取存儲的插件文件并安裝,最后將安裝成功的信息寫入插件狀態(tài)文本中。5、預(yù)設(shè)的Java接口通過狀態(tài)獲取函數(shù)從插件狀態(tài)文本中獲取插件的狀態(tài)信息, 并將該狀態(tài)信息發(fā)送給VC插件接口,其中,該狀態(tài)信息包括插件下載成功、插件下載失敗、 修改文件權(quán)限失敗、插件安裝成功、插件卸載成功、狀態(tài)文本不存在以及鏈接失敗的任一種。本實施例中,通過狀態(tài)獲取函數(shù)獲取插件的狀態(tài)信息,該狀態(tài)信息包括插件下載成功、插件下載失敗、修改文件權(quán)限失敗、插件安裝成功、插件卸載成功、插件卸載失敗、初始信息start (即未進行任何操作)、狀態(tài)文本不存在以及鏈接失敗等狀態(tài)信息。6、VC插件接口接收預(yù)設(shè)的Java接口發(fā)送的狀態(tài)信息,并將該狀態(tài)信息轉(zhuǎn)發(fā)至 Android瀏覽器。本實施例中,VC插件接口通過Java接口獲取插件的狀態(tài)信息,該VC插件接口再將獲取的狀態(tài)信息轉(zhuǎn)發(fā)至Android瀏覽器。7、Android瀏覽器接收并顯示VC插件接口轉(zhuǎn)發(fā)的狀態(tài)信息。本實施例中,當Android瀏覽器接收到插件的狀態(tài)信息時,顯示接收的狀態(tài)信息。 比如,當接收的狀態(tài)信息為安裝成功時,顯示“安裝成功”,以使用戶知道下載的插件已安裝成功。在上述實施例中,Android瀏覽器通過調(diào)用VC插件接口向預(yù)設(shè)的Java接口發(fā)送操作命令,以使該預(yù)設(shè)的Java接口將接收的操作命令轉(zhuǎn)發(fā)至Android服務(wù)器,使得該Android 服務(wù)器根據(jù)接收的操作命令作出相應(yīng)的響應(yīng),并將響應(yīng)操作命令后的插件的狀態(tài)信息寫入插件狀態(tài)文本中,該預(yù)設(shè)的Java接口再從插件狀態(tài)文本中獲取插件的狀態(tài)信息,并將該狀態(tài)信息發(fā)送至VC插件接口,以使該VC插件接口轉(zhuǎn)發(fā)至Android瀏覽器顯示。在本發(fā)明實施例中,通過增加預(yù)設(shè)的Java接口連接VC插件接口和Android服務(wù)器,使得Android瀏覽器和Android服務(wù)器可以自由通訊,并且由于Android服務(wù)器對操作命令的響應(yīng)包括創(chuàng)建插件存放路徑、刪除插件文件、讀插件文件、寫插件文件的任一種,實現(xiàn)了插件的下載安裝管理,因此提高了用戶網(wǎng)上沖浪的效果,提高了用戶的良好體驗。作為本發(fā)明一優(yōu)選實施例,預(yù)設(shè)的Java接口從被調(diào)用的函數(shù)方法中獲取VC插件接口發(fā)送的操作命令,并將獲取的操作命令發(fā)送給Android服務(wù)器的步驟具體如圖2所示步驟S201、預(yù)設(shè)的Java接口從被調(diào)用的函數(shù)方法中獲取VC插件接口發(fā)送的操作命令。步驟S202、預(yù)設(shè)的Java接口通過綁定Android服務(wù)器的IP和端口創(chuàng)建與該 Android服務(wù)器通信的socket鏈接。步驟S203、判斷socket鏈接是否成功建立,若成功建立,執(zhí)行步驟S204,否則,執(zhí)行步驟S205。步驟S204、預(yù)設(shè)的Java接口根據(jù)獲取的操作命令提供下載安裝安卓插件、卸載安卓插件、停止服務(wù)中任一個用于傳遞消息的函數(shù)方法,以便通過提供的函數(shù)方法將獲取的操作命令發(fā)送給Android服務(wù)器。本實施例中,當預(yù)設(shè)的Java接口獲取的操作命令為下載安裝安卓插件時,該預(yù)設(shè)的Java接口提供傳遞下載安裝安卓插件消息的函數(shù)方法,以實現(xiàn)傳遞下載安裝安卓插件消息的功能。與此類推,當預(yù)設(shè)的Java接口獲取的操作命令分別為卸載安卓插件、停止服務(wù)時,該預(yù)設(shè)的Java接口分別提供傳遞卸載安卓插件、停止服務(wù)消息的函數(shù)方法。進一步地,當預(yù)設(shè)的Java接口成功將接收的操作命令發(fā)送給Android服務(wù)器時, 返回“請等待”信息給VC插件接口,以便Android瀏覽器從該VC插件接口獲取并顯示“請等待”信息。步驟S205、返回鏈接失敗信息給VC插件插口。本實施例中,當預(yù)設(shè)的Java接口發(fā)送操作命令給An droid服務(wù)器失敗時,返回“鏈接失敗”信息給VC插件接口。在本發(fā)明實施例中,預(yù)設(shè)的Java接口將VC插件接口獲取的操作命令發(fā)送到 Android服務(wù)器,以使該Android服務(wù)器對接收的操作命令作出響應(yīng),使得VC插件接口的C 語言層能夠通過該預(yù)設(shè)的Java接口與Android服務(wù)器進行通訊。本實施例中,通過預(yù)設(shè)的 Java層,實現(xiàn)了 Android瀏覽器命令向Android服務(wù)器的發(fā)送,解決了 VC插件接口無法與 Android服務(wù)器通訊的問題,從而有利于解決消費電子產(chǎn)品上的Android瀏覽器插件無法從Android服務(wù)器獲取的現(xiàn)狀。作為本發(fā)明一優(yōu)選實施例,Android服務(wù)器接收到預(yù)設(shè)的Java接口發(fā)送的操作命令后,作出相應(yīng)的響應(yīng),并將插件下載安裝或插件卸載的狀態(tài)信息寫入插件狀態(tài)文本中的步驟具體如圖3所示步驟S301、Android服務(wù)器監(jiān)聽socket鏈接,以取得與預(yù)設(shè)的Java接口的聯(lián)系。步驟S302、在Android服務(wù)器與預(yù)設(shè)的Java接口實現(xiàn)通信時,啟動該Android服務(wù)器引擎線程,以通過調(diào)用該Android服務(wù)器引擎線程獲取預(yù)設(shè)的Java接口傳遞的操作命令。在本實施例中,當Android服務(wù)器與預(yù)設(shè)的Java接口成功建立鏈接實現(xiàn)通信時, 啟動Android服務(wù)器引擎線程,并調(diào)用該Android服務(wù)器引擎線程來獲取Java層傳遞的操作命令。步驟S303、根據(jù)接收的操作命令建立與該操作命令對應(yīng)的服務(wù)句柄,該服務(wù)句柄為下載安裝安卓插件、卸載安卓插件、停止服務(wù)模塊中的任一種。本實施例中,Android服務(wù)器解析接收的操作命令,并根據(jù)不同的操作命令選擇相應(yīng)的處理。比如,在接收的操作命令為下載安裝安卓插件時,建立下載安裝服務(wù)句柄;在接收的操作命令為卸載安卓插件時,建立卸載安卓插件服務(wù)句柄。步驟S304、根據(jù)建立的服務(wù)句柄響應(yīng)接收的操作命令,并將響應(yīng)操作命令后插件下載安裝或插件卸載的狀態(tài)信息寫入插件狀態(tài)文本中。本實施例中,Android服務(wù)器建立的服務(wù)句柄包括下載安裝安卓插件、卸載安卓插件、停止服務(wù)中的任一種。在建立的服務(wù)句柄為卸載安卓插件時,首先獲取需要卸載的安卓插件的apk包名,然后啟動Activity以執(zhí)行安卓插件的卸載任務(wù),在卸載安卓插件完成后,向插件狀態(tài)文本寫入卸載成功的消息;在建立的服務(wù)句柄為停止服務(wù),即Android瀏覽器認為完成了任務(wù),故向Android服務(wù)器發(fā)送停止服務(wù)的命令時,該Android服務(wù)器首先停止監(jiān)聽socket鏈接,以斷開與預(yù)設(shè)的Java接口(或Java層)的通信,然后stopSelf,以停止本身的操作。作為本發(fā)明一優(yōu)選實施例,在Android服務(wù)器建立的服務(wù)句柄為下載安裝安卓插件時,根據(jù)建立的服務(wù)句柄響應(yīng)接收的操作命令,并將響應(yīng)操作命令后插件下載安裝的狀態(tài)信息寫入插件狀態(tài)文本中的步驟具體如圖4所示步驟S401、指定下載安卓插件文件后的具體存放路徑。本實施例中,在Android服務(wù)器下載安卓插件之前,需要指定一個存放路徑,用于存放下載的安卓插件,若已創(chuàng)建安卓插件文件的存放路徑,則將使用已創(chuàng)建的存放路徑存儲下載的安卓插件文件,否則,創(chuàng)建新的存放路徑。步驟S402、解析獲取的安卓插件文件下載路徑,并保存解析安卓插件文件下載路徑獲取的該安卓插件文件的Url地址。本實施例中,在指定安卓插件將存放的路徑之后,Android服務(wù)器解析將要下載的安卓插件的網(wǎng)頁地址,(Universal Resource Locator, Url),若解析出錯,貝U在插件狀態(tài)文本中寫入“插件下載失敗”信息,以便預(yù)設(shè)的Java接口根據(jù)返回的“101”獲知下載出錯的信息,若成功解析,則保存獲取的安卓插件文件的Url地址。步驟S403、判斷與該安卓插件文件的Url地址的網(wǎng)絡(luò)連接是否正常,若正常,執(zhí)行步驟S404,否則,執(zhí)行步驟S405。步驟S404、與安卓插件文件進行http連接,開始執(zhí)行安卓插件文件保存操作,并執(zhí)行步驟S406。步驟S405、返回網(wǎng)絡(luò)連接錯誤信息。步驟S406、檢測安卓插件文件的下載過程,若在下載過程中捕獲到異常,則刪除已下載但不完整的文件,若沒有捕獲到異常,則通過文件的輸入輸出流方式進行文件的寫操作,并在寫完之后關(guān)閉文件以及關(guān)閉與該安卓插件文件的Url連接。本實施例中,定義安卓插件文件的名稱并開始執(zhí)行保存操作,若在安卓插件文件的下載過程捕獲到異常,則刪除已下載但不完整的文件,進一步地,將插件下載失敗的信息寫入插件狀態(tài)文本中,以便預(yù)設(shè)的Java接口從該插件狀態(tài)文本中獲取插件下載出錯的信息;若在安卓插件文件的下載過程沒有捕獲到異常,則通過文件的輸入輸出流方式進行文件的寫操作,寫完之后執(zhí)行關(guān)閉文件的操作,以及關(guān)閉與該安卓插件文件的Url連接。步驟S407、判斷下載的安卓插件文件的長度是否為0,若為0,則將插件下載失敗信息寫入插件狀態(tài)文本中,否則,將插件下載成功信息寫入插件狀態(tài)文本中,并修改該安卓插件文件的權(quán)限。本實施例中,Android服務(wù)器對下載的安卓插件文件長度進行判斷,若讀取到的安卓插件文件長度為0,表示該安卓插件文件在下載過程中出錯,則發(fā)送錯誤信息給預(yù)設(shè)的 Java接口 ;若讀取到的安卓插件文件長度不為0,則設(shè)置該安卓插件文件長度,并進行字節(jié)的寫入,再判斷寫入的內(nèi)容是否為空,在寫入的內(nèi)容不為空時,進行文件權(quán)限的修改以供接下來的安裝操作,若寫入的內(nèi)容為空,則返回出錯信息。在本實施例中,將下載的安卓插件文件權(quán)限修改為可讀寫rw-rw-rw權(quán)限,若修改后的符號是換行符,則表示權(quán)限修改成功,否則,表示權(quán)限修改出錯。步驟S408、斷開與安卓插件文件的http連接,結(jié)束該安卓插件文件的下載。本實施例中,對于捕獲安卓插件文件下載異常進行規(guī)范化的管理,將該安卓插件文件的下載進行封裝以便Android服務(wù)器調(diào)用,方便了軟件功能上的管理。步驟S409、安裝下載的安卓插件文件,并在安裝成功后將插件安裝成功的信息寫入插件狀態(tài)文本中。本實施例中,在安卓插件下載成功后,實施該安卓插件的安裝,并向插件狀態(tài)文本寫入安裝成功的信息,安裝成功后回到監(jiān)聽環(huán)節(jié),等待下一個操作命令。進一步地,在安裝下載的安卓插件文件前,需要讀出該安卓插件文件,即Al、先判斷需要安裝的安卓插件文件是否存在,若存在,捕獲尋找該安卓插件文件時發(fā)生的異常,否則,直接返回“沒有文件"NoFile信息。A2、當尋找安卓插件文件沒有捕獲到異常時,直接對該安卓插件文件的異常輸入輸出進行捕獲;當尋找安卓插件文件捕獲到異常時,直接返回 NoFile信息。本實施例中,對安卓插件文件的讀取進行檢測,若沒有捕獲到異常,返回讀取的內(nèi)容字符,若在此過程中出現(xiàn)異常,則返回NoFile信息。作為本發(fā)明一優(yōu)選實施例,在Android服務(wù)器建立的服務(wù)句柄為卸載安卓插件時,根據(jù)建立的服務(wù)句柄響應(yīng)接收的操作命令,并將響應(yīng)操作命令后插件卸載的狀態(tài)信息寫入插件狀態(tài)文本中的步驟具體如圖5所示步驟S501、指定需要卸載的安卓插件文件的存放路徑。步驟S502、判斷指定的存放路徑中是否存在需要卸載的安卓插件文件,若存在,執(zhí)行步驟S503,否則,執(zhí)行步驟S505。
本實施例中,根據(jù)指定的需要卸載的安卓插件文件的存放路徑,查找該存放路徑是否存在需要卸載的安卓插件文件,比如,查找是否存在需要卸載的安卓插件文件的名稱, 若不存在,則表明指定的存放路徑不存在需要卸載的安卓插件文件。步驟S503、調(diào)用文件刪除函數(shù)以刪除需要卸載的安卓插件文件。本實施例中,當需要卸載的安卓插件文件存在時,Android服務(wù)器進行文件刪除函數(shù)的調(diào)用,以便刪除該需要卸載的安卓插件文件。步驟S504、判斷該安卓插件文件是否刪除成功,并在刪除成功時,執(zhí)行步驟S505, 否則,執(zhí)行步驟S506。步驟S505、將插件卸載成功的信息寫入插件狀態(tài)文本中。步驟S506、將插件卸載失敗的信息寫入插件狀態(tài)文本中。在本發(fā)明實施例中,Android服務(wù)器接收到預(yù)設(shè)的Java接口轉(zhuǎn)發(fā)的Android瀏覽器操作命令后,通過對不同模塊的調(diào)用以響應(yīng)插件下載安裝、卸載以及停止服務(wù)等操作命令,并將響應(yīng)后的插件狀態(tài)信息寫入狀態(tài)文本中,預(yù)設(shè)的Java接口獲取Android服務(wù)器上插件的當前狀態(tài),并將獲取的插件狀態(tài)信息反饋給Android瀏覽器。由于預(yù)設(shè)的Java接口可以獲取插件的狀態(tài)信息,因此方便了 Android瀏覽器插件的管理,提高了用戶網(wǎng)上沖浪的效果,提高了用戶的良好體驗,并且在日后需要增加Android瀏覽器的插件管理功能時, 只需在該預(yù)設(shè)的Java接口上增加相應(yīng)的功能函數(shù)即可,方便了需求的延展。實施例二 :圖6示出了本發(fā)明第二實施例提供的基于安卓瀏覽器的插件管理系統(tǒng)的結(jié)構(gòu),為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分。該基于安卓瀏覽器的插件管理系統(tǒng)可以用于通過有線或者無線網(wǎng)絡(luò)連接服務(wù)器的各種信息處理終端,例如移動電話、口袋計算機(Pocket Personal Computer,PPC)、掌上電腦、計算機、筆記本電腦、智能電視等,可以是運行于這些終端內(nèi)的軟件單元、硬件單元或者軟硬件相結(jié)合的單元,也可以作為獨立的掛件集成到這些終端中或者運行于這些終端的應(yīng)用系統(tǒng)中,其中操作命令發(fā)送單元61,用于Android瀏覽器接收用戶根據(jù)彈出的命令窗口輸入的操作命令,并將接收的操作命令發(fā)送給VC插件接口,該操作命令包括下載安裝安卓插件命令、卸載插件命令以及停止服務(wù)命令。本實施例中,通過Android瀏覽器的操作命令發(fā)送單元61將用戶輸入的操作命令發(fā)送給VC插件接口。其中,用戶輸入的操作命令可以為下載安裝安卓插件命令,或卸載插件命令,或停止服務(wù)命令。第一操作命令轉(zhuǎn)發(fā)單元62,用于該VC插件接口接收到該Android瀏覽器發(fā)送的操作命令后,使用C語言調(diào)用預(yù)設(shè)的Java接口中與接收的操作命令對應(yīng)的函數(shù)方法,以便將接收的操作命令發(fā)送給該預(yù)設(shè)的Java接口。本實施例中,VC插件接口獲取Android瀏覽器發(fā)送的操作命令后,判斷接收的操作命令是屬于下載安裝安卓插件、卸載安卓插件、停止服務(wù)中的哪一種,并根據(jù)判斷結(jié)果調(diào)用預(yù)設(shè)的Java接口中與操作命令對應(yīng)的函數(shù)方法,以便通過調(diào)用的函數(shù)方法將接收的操作命令轉(zhuǎn)發(fā)給該預(yù)設(shè)的Java接口。其中,調(diào)用預(yù)設(shè)的Java接口中與操作命令對應(yīng)的函數(shù)方法的過程具體包括加載緩存中函數(shù)方法的java包;再獲取該函數(shù)方法的構(gòu)造函數(shù)、參數(shù)及方法名;根據(jù)加載的java包、構(gòu)造函數(shù)、參數(shù)及方法名調(diào)用相應(yīng)的函數(shù)方法。第二操作命令轉(zhuǎn)發(fā)單元63,用于該預(yù)設(shè)的Java接口從被調(diào)用的函數(shù)方法中獲取該VC插件接口發(fā)送的操作命令,并將獲取的操作命令發(fā)送給Android服務(wù)器。本實施例中,預(yù)設(shè)的Java接口從被VC插件接口調(diào)用的函數(shù)方法中獲取該VC插件接口發(fā)送的操作命令,該操作命令包括下載安裝安卓插件、卸載安卓插件、停止服務(wù)中的任一種。操作命令響應(yīng)單元64,用于該Android服務(wù)器接收到該預(yù)設(shè)的Java接口發(fā)送的操作命令后,作出相應(yīng)的響應(yīng),并將插件下載安裝或插件卸載的狀態(tài)信息寫入插件狀態(tài)文本中,該響應(yīng)包括創(chuàng)建插件存放路徑、刪除插件文件、讀插件文件、寫插件文件的任一種。本實施例中,Android服務(wù)器響應(yīng)預(yù)設(shè)的Java接口發(fā)送的操作命令后的插件狀態(tài)信息包括插件下載安裝是否成功,插件卸載是否成功等信息。當該Android服務(wù)器響應(yīng)獲取的操作命令后,將響應(yīng)后的插件狀態(tài)信息寫入插件狀態(tài)文本中。狀態(tài)信息獲取單元65,用于該預(yù)設(shè)的Java接口通過狀態(tài)獲取函數(shù)從插件狀態(tài)文本中獲取插件的狀態(tài)信息,并將該狀態(tài)信息發(fā)送給該VC插件接口,該狀態(tài)信息包括插件下載成功、插件下載失敗、修改文件權(quán)限失敗、插件安裝成功、插件卸載成功、狀態(tài)文本不存在以及鏈接失敗的任一種。本實施例中,預(yù)設(shè)的Java接口從Android瀏覽器的插件文本中獲取的插件的狀態(tài)信息包括插件下載成功、插件下載失敗、修改文件權(quán)限失敗、插件安裝成功、插件卸載成功、插件卸載失敗、初始信息start (即未進行任何操作)、狀態(tài)文本不存在以及鏈接失敗等狀態(tài)信息。狀態(tài)信息轉(zhuǎn)發(fā)單元66,用于該VC插件接口接收該預(yù)設(shè)的Java接口發(fā)送的狀態(tài)信息,并將該狀態(tài)信息轉(zhuǎn)發(fā)至該Android瀏覽器。狀態(tài)信息顯示單元67’用于該Android瀏覽器接收并顯示VC插件接口轉(zhuǎn)發(fā)的狀態(tài)信息。本實施例中,Android瀏覽器通過VC插件接口接收到Android服務(wù)器發(fā)送的插件的狀態(tài)信息之后,顯示接收的狀態(tài)信息,以便用戶及時獲取插件的當前狀態(tài)。在本發(fā)明實施例中,通過增加預(yù)設(shè)的Java接口連接VC插件接口和Android服務(wù)器,使得Android瀏覽器和Android服務(wù)器可以自由通訊,并且由于Android服務(wù)器對操作命令的響應(yīng)包括創(chuàng)建插件存放路徑、刪除插件文件、讀插件文件、寫插件文件的任一種,實現(xiàn)了插件的下載安裝管理,因此提高了用戶網(wǎng)上沖浪的效果,提高了用戶的良好體驗。圖7示出了本發(fā)明實施例提供的另一種基于安卓瀏覽器的插件管理系統(tǒng)的結(jié)構(gòu), 為了便于說明,僅示出了與本實施例相關(guān)的部分在本實施例中,與上述實施例相同的第二操作命令轉(zhuǎn)發(fā)單元63包括操作命令獲取模塊631,用于該預(yù)設(shè)的Java接口從被調(diào)用的函數(shù)方法中獲取VC插件接口發(fā)送的操作命令。第一 socket鏈接建立模塊632,用于該預(yù)設(shè)的Java接口通過綁定Android服務(wù)器的IP和端口創(chuàng)建與該Android服務(wù)器通信的socket鏈接。socket鏈接判斷模塊633,用于判斷socket鏈接是否成功建立。操作命令傳遞模塊634,用于在socket鏈接成功建立時,該預(yù)設(shè)的Java接口根據(jù)
15獲取的操作命令提供下載安裝安卓插件、卸載安卓插件、停止服務(wù)中任一個用于傳遞消息的函數(shù)方法,以便通過提供的函數(shù)方法將獲取的操作命令發(fā)送給Android服務(wù)器。在本實施例中,當預(yù)設(shè)的Java接口與Android服務(wù)器建立socket鏈接后,該預(yù)設(shè)的Java接口通過提供下載安裝安卓插件、卸載安卓插件、停止服務(wù)中等傳遞消息函數(shù),以便將相應(yīng)的下載安裝安卓插件、卸載安卓插件、停止服務(wù)等操作命令發(fā)送給Android服務(wù)器。鏈接失敗信息反饋模塊635,用于在socket鏈接建立失敗時,返回鏈接失敗信息給VC插件插口。在本發(fā)明實施例中,預(yù)設(shè)的Java接口將VC插件接口獲取的操作命令發(fā)送到 Android服務(wù)器,以使該Android服務(wù)器對接收的操作命令作出響應(yīng),使得VC插件接口的C 語言層能夠通過該預(yù)設(shè)的Java接口與Android服務(wù)器進行通訊。本實施例中,通過預(yù)設(shè)的 Java層,實現(xiàn)了 Android瀏覽器命令向Android服務(wù)器的發(fā)送,解決了 VC插件接口無法與 Android服務(wù)器通訊的問題,從而有利于解決消費電子產(chǎn)品上的Android瀏覽器插件無法從Android服務(wù)器獲取的現(xiàn)狀,提高了用戶在網(wǎng)上沖浪的效果,提升了應(yīng)用基于安卓瀏覽器的插件管理系統(tǒng)的產(chǎn)品的整體品質(zhì),以及提高了用戶的良好體驗。作為本發(fā)明一優(yōu)選實施例,操作命令響應(yīng)單元64包括第二 socket鏈接建立模塊641,用于該Android服務(wù)器監(jiān)聽socket鏈接,以取得與該預(yù)設(shè)的Java接口的聯(lián)系。服務(wù)器引擎線程調(diào)用模塊642,用于在該Android服務(wù)器與該預(yù)設(shè)的Java接口實現(xiàn)通信時,啟動Android服務(wù)器引擎線程,以通過調(diào)用該Android服務(wù)器引擎線程獲取該預(yù)設(shè)的Java接口傳遞的操作命令。在本實施例中,當Android服務(wù)器與預(yù)設(shè)的Java接口成功建立鏈接實現(xiàn)通信時, 啟動Android服務(wù)器引擎線程,并調(diào)用該Android服務(wù)器引擎線程來獲取Java層傳遞的操作命令。服務(wù)句柄建立模塊643,用于根據(jù)接收的操作命令建立與該操作命令對應(yīng)的服務(wù)句柄,該服務(wù)句柄為安裝安卓插件、卸載安卓插件、停止服務(wù)模塊中的任一種。本實施例中,不同的操作命令對應(yīng)不同的服務(wù)句柄,當Android服務(wù)器接收到一個操作命令后,解析接收的操作命令,并建立與接收的操作命令對應(yīng)的下載安裝安卓插件句柄或卸載安卓插件句柄或停止服務(wù)句柄。狀態(tài)信息寫入模塊644,用于根據(jù)建立的服務(wù)句柄響應(yīng)接收的操作命令,并將響應(yīng)操作命令后插件下載安裝或插件卸載的狀態(tài)信息寫入插件狀態(tài)文本中。作為本發(fā)明一優(yōu)選實施例,在建立的服務(wù)句柄為下載安裝安卓插件時,該狀態(tài)信息寫入模塊644包括存放路徑指定模塊,用于指定下載安卓插件文件后的具體存放路徑。本實施例中,若已創(chuàng)建安卓插件文件的存放路徑,則將使用已創(chuàng)建的存放路徑存儲下載的安卓插件文件,否則,創(chuàng)建新的存放路徑。網(wǎng)絡(luò)地址保存模塊,用于解析獲取的安卓插件文件下載路徑,并保存解析安卓插件文件下載路徑獲取的該安卓插件文件的Url地址。本實施例中,Android服務(wù)器解析將要下載的安卓插件的Url,并保存解析獲取的Url,若解析出錯,則插件狀態(tài)文本中寫入“插件下載失敗”信息,以便預(yù)設(shè)的Java接口根據(jù)返回的“101”獲知下載出錯的信息,若成功解析,則保存獲取的安卓插件文件的Url地址。網(wǎng)絡(luò)連接判斷模塊,用于判斷與該安卓插件文件的Url地址的網(wǎng)絡(luò)連接是否正
堂
巾o插件保存模塊,用于在網(wǎng)絡(luò)連接正常時,與安卓插件文件進行http連接,開始執(zhí)行安卓插件文件保存操作。網(wǎng)絡(luò)連接關(guān)閉模塊,用于檢測安卓插件文件的下載過程,若在下載過程中捕獲到異常,則刪除已下載但不完整的文件,若沒有捕獲到異常,則通過文件的輸入輸出流方式進行文件的寫操作,并在寫完之后關(guān)閉文件以及關(guān)閉與該安卓插件文件的Url連接。本實施例中,Android服務(wù)器定義安卓插件文件的名稱并開始執(zhí)行保存操作,若在安卓插件文件的下載過程捕獲到異常,則刪除已下載但不完整的文件,進一步地,將插件下載失敗的信息寫入插件狀態(tài)文本中,以便預(yù)設(shè)的Java接口從該插件狀態(tài)文本中獲取插件下載出錯的信息;若在安卓插件文件的下載過程沒有捕獲到異常,則通過文件的輸入輸出流方式進行文件的寫操作,寫完之后執(zhí)行關(guān)閉文件的操作,以及關(guān)閉與該安卓插件文件的 Url連接。插件異常判斷模塊,用于判斷下載的安卓插件文件的長度是否為0,若為0,則將插件下載失敗信息寫入插件狀態(tài)文本中,否則,將插件下載成功信息寫入插件狀態(tài)文本中, 并修改該安卓插件文件的權(quán)限。本實施例中,Android服務(wù)器對下載的安卓插件文件長度進行判斷,若讀取到的安卓插件文件長度為0,表示該安卓插件文件在下載過程中出錯,則發(fā)送錯誤信息給預(yù)設(shè)的 Java接口 ;若讀取到的安卓插件文件長度不為0,則設(shè)置該安卓插件文件長度,并進行字節(jié)的寫入,再判斷寫入的內(nèi)容是否為空,在寫入的內(nèi)容不為空時,進行文件權(quán)限的修改以供接下來的安裝操作,若寫入的內(nèi)容為空,則返回出錯信息。在本實施例中,將下載的安卓插件文件權(quán)限修改為可讀寫rw-rw-rw權(quán)限,若修改后的符號是換行符,則表示權(quán)限修改成功,否則,表示權(quán)限修改出錯。插件下載結(jié)束模塊,用于斷開與安卓插件文件的http連接,結(jié)束該安卓插件文件的下載。插件安裝模塊,用于安裝下載的安卓插件文件,并在安裝成功后將插件安裝成功的信息寫入插件狀態(tài)文本中。本實施例中,在安裝下載的安卓插件文件前,需要讀出該安卓插件文件。其中,讀取安卓插件文件的步驟包括先判斷需要安裝的安卓插件文件是否存在,若存在,捕獲尋找該安卓插件文件時發(fā)生的異常,否則,直接返回“沒有文件” NoFile信息;當尋找安卓插件文件沒有捕獲到異常時,直接對該安卓插件文件的異常輸入輸出進行捕獲,當尋找安卓插件文件捕獲到異常時,直接返回NoFile信息。在本實施例中,對安卓插件文件的讀取進行檢測,若沒有捕獲到異常,返回讀取的內(nèi)容字符,若在此過程中出現(xiàn)異常,則返回NoFile信肩、O錯誤信息返回模塊,用于在網(wǎng)絡(luò)連接不正常時,返回網(wǎng)絡(luò)連接錯誤信息。作為本發(fā)明一優(yōu)選實施例,在建立的服務(wù)句柄為卸載安卓插件時,該狀態(tài)信息寫入模塊644包括
卸載插件路徑指定模塊,用于指定需要卸載的安卓插件文件的存放路徑。插件存在判斷模塊,用于判斷指定的存放路徑中是否存在需要卸載的安卓插件文件。插件卸載模塊,用于在存在需要卸載的安卓插件文件時,調(diào)用文件刪除函數(shù)以刪除需要卸載的安卓插件文件。插件卸載成功判斷模塊,用于判斷該安卓插件文件是否刪除成功。插件卸載成功寫入模塊,用于在不存在需要卸載的安卓插件文件或者安卓插件文件刪除成功時,將插件卸載成功的信息寫入插件狀態(tài)文本中。插件卸載失敗寫入模塊,用于在安卓插件文件刪除失敗時,將插件卸載失敗的信息寫入插件狀態(tài)文本中。在本發(fā)明實施例中,由于預(yù)設(shè)的Java接口可以獲取插件的狀態(tài)信息,因此方便了 Android瀏覽器插件的管理,提高了用戶網(wǎng)上沖浪的效果,提高了用戶的良好體驗,并且在日后需要增加Android瀏覽器的插件管理功能時,只需在該預(yù)設(shè)的Java接口上增加相應(yīng)的功能函數(shù)即可,方便了需求的延展。在建立的服務(wù)句柄為停止服務(wù)時,該狀態(tài)信息寫入模塊644包括通信斷開模塊,用于該Android服務(wù)器停止監(jiān)聽socket鏈接,以斷開與預(yù)設(shè)的 Java接口的通信。自身操作停止模塊,用于停止該Android服務(wù)器本身的操作。在本實施例中,當Android瀏覽器認為完成了任務(wù),向Android服務(wù)器發(fā)送停止服務(wù)的命令時,該Android服務(wù)器首先停止監(jiān)聽socket鏈接,以斷開與預(yù)設(shè)的Java接口(或 Java層)的通信,然后stopSelf,以停止本身的操作。在本發(fā)明實施例中,Android瀏覽器通過調(diào)用VC插件接口向預(yù)設(shè)的Java接口發(fā)送操作命令,以使該預(yù)設(shè)的Java接口將接收的操作命令轉(zhuǎn)發(fā)至Android服務(wù)器,使得該Android服務(wù)器根據(jù)接收的操作命令作出相應(yīng)的響應(yīng),并將響應(yīng)操作命令后的插件的狀態(tài)信息寫入插件狀態(tài)文本中,該預(yù)設(shè)的Java接口再從插件狀態(tài)文本中獲取插件的狀態(tài)信息,并將該狀態(tài)信息發(fā)送至VC插件接口,以使該VC插件接口轉(zhuǎn)發(fā)至Android瀏覽器顯示。 在本發(fā)明實施例中,通過增加預(yù)設(shè)的Java接口連接VC插件接口和Android服務(wù)器,使得 An droid瀏覽器和An droid服務(wù)器可以自由通訊,并且由于An droid服務(wù)器對操作命令的響應(yīng)包括創(chuàng)建插件存放路徑、刪除插件文件、讀插件文件、寫插件文件的任一種,實現(xiàn)了插件的下載安裝管理,因此提高了用戶的良好體驗,提高了用戶網(wǎng)上沖浪的效果。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.基于安卓瀏覽器的插件管理方法,其特征在于,所述方法包括下述步驟Android瀏覽器接收用戶根據(jù)彈出的命令窗口輸入的操作命令,并將接收的操作命令發(fā)送給VC插件接口,所述操作命令包括下載安裝安卓插件命令、卸載插件命令以及停止服務(wù)命令;所述VC插件接口接收到所述Android瀏覽器發(fā)送的操作命令后,使用C語言調(diào)用預(yù)設(shè)的Java接口中與接收的操作命令對應(yīng)的函數(shù)方法,以便將接收的操作命令發(fā)送給該預(yù)設(shè)的Java接P ;所述預(yù)設(shè)的Java接口從被調(diào)用的函數(shù)方法中獲取所述VC插件接口發(fā)送的操作命令, 并將獲取的操作命令發(fā)送給Android服務(wù)器;所述Android服務(wù)器接收到所述預(yù)設(shè)的Java接口發(fā)送的操作命令后,作出相應(yīng)的響應(yīng),并將插件下載安裝或插件卸載的狀態(tài)信息寫入插件狀態(tài)文本中,所述響應(yīng)包括創(chuàng)建插件存放路徑、刪除插件文件、讀插件文件、寫插件文件的任一種;所述預(yù)設(shè)的Java接口通過狀態(tài)獲取函數(shù)從插件狀態(tài)文本中獲取插件的狀態(tài)信息,并將該狀態(tài)信息發(fā)送給所述VC插件接口,所述狀態(tài)信息包括插件下載成功、插件下載失敗、 修改文件權(quán)限失敗、插件安裝成功、插件卸載成功、狀態(tài)文本不存在以及鏈接失敗的任一種;所述VC插件接口接收所述預(yù)設(shè)的Java接口發(fā)送的狀態(tài)信息,并將該狀態(tài)信息轉(zhuǎn)發(fā)至所述Android瀏覽器;所述Android瀏覽器接收并顯示VC插件接口轉(zhuǎn)發(fā)的狀態(tài)信息。
2.如權(quán)利要求I所述的方法,其特征在于,所述預(yù)設(shè)的Java接口從被調(diào)用的函數(shù)方法中獲取所述VC插件接口發(fā)送的操作命令,并將獲取的操作命令發(fā)送給Android服務(wù)器的步驟具體包括所述預(yù)設(shè)的Java接口從被調(diào)用的函數(shù)方法中獲取VC插件接口發(fā)送的操作命令;所述預(yù)設(shè)的Java接口通過綁定Android服務(wù)器的IP和端口創(chuàng)建與所述Android服務(wù)器通信的socket鏈接;判斷socket鏈接是否成功建立;在socket鏈接成功建立時,所述預(yù)設(shè)的Java接口根據(jù)獲取的操作命令提供下載安裝安卓插件、卸載安卓插件、停止服務(wù)中任一個用于傳遞消息的函數(shù)方法,以便通過提供的函數(shù)方法將獲取的操作命令發(fā)送給Android服務(wù)器;在socket鏈接建立失敗時,返回鏈接失敗信息給VC插件插口。
3.如權(quán)利要求I所述的方法,其特征在于,所述Android服務(wù)器接收到所述預(yù)設(shè)的 Java接口發(fā)送的操作命令后,作出相應(yīng)的響應(yīng),并將插件下載安裝或插件卸載的狀態(tài)信息寫入插件狀態(tài)文本中的步驟具體包括所述Android服務(wù)器監(jiān)聽socket鏈接,以取得與所述預(yù)設(shè)的Java接口的聯(lián)系; 在所述Android服務(wù)器與所述預(yù)設(shè)的Java接口實現(xiàn)通信時,啟動Android服務(wù)器引擎線程,以通過調(diào)用所述Android服務(wù)器引擎線程獲取所述預(yù)設(shè)的Java接口傳遞的操作命令;根據(jù)接收的操作命令建立與所述操作命令對應(yīng)的服務(wù)句柄,所述服務(wù)句柄為下載安裝安卓插件、卸載安卓插件、停止服務(wù)模塊中的任一種;根據(jù)建立的服務(wù)句柄響應(yīng)接收的操作命令,并將響應(yīng)操作命令后插件下載安裝或插件卸載的狀態(tài)信息寫入插件狀態(tài)文本中。
4.如權(quán)利要求3所述的方法,其特征在于,在建立的服務(wù)句柄為下載安裝安卓插件時,所述根據(jù)建立的服務(wù)句柄響應(yīng)接收的操作命令,并將響應(yīng)操作命令后插件下載安裝的狀態(tài)信息寫入插件狀態(tài)文本中的步驟具體包括指定下載安卓插件文件后的具體存放路徑;解析獲取的安卓插件文件下載路徑,并保存解析安卓插件文件下載路徑獲取的所述安卓插件文件的Url地址;判斷與所述安卓插件文件的Url地址的網(wǎng)絡(luò)連接是否正常;在網(wǎng)絡(luò)連接正常時,與安卓插件文件進行http連接,開始執(zhí)行安卓插件文件保存操作;檢測安卓插件文件的下載過程,若在下載過程中捕獲到異常,則刪除已下載但不完整的文件,若沒有捕獲到異常,則通過文件的輸入輸出流方式進行文件的寫操作,并在寫完之后關(guān)閉文件以及關(guān)閉與所述安卓插件文件的Url連接;判斷下載的安卓插件文件的長度是否為0,若為0,則將插件下載失敗信息寫入插件狀態(tài)文本中,否則,將插件下載成功信息寫入插件狀態(tài)文本中,并修改所述安卓插件文件的權(quán)限;斷開與安卓插件文件的http連接,結(jié)束所述安卓插件文件的下載;安裝下載的安卓插件文件,并在安裝成功后將插件安裝成功的信息寫入插件狀態(tài)文本中;在網(wǎng)絡(luò)連接不正常時,返回網(wǎng)絡(luò)連接錯誤信息。
5.如權(quán)利要求3所述的方法,其特征在于,在建立的服務(wù)句柄為卸載安卓插件時,所述根據(jù)建立的服務(wù)句柄響應(yīng)接收的操作命令,并將響應(yīng)操作命令后插件卸載的狀態(tài)信息寫入插件狀態(tài)文本中的步驟具體包括 指定需要卸載的安卓插件文件的存放路徑;判斷指定的存放路徑中是否存在需要卸載的安卓插件文件;在存在需要卸載的安卓插件文件時,調(diào)用文件刪除函數(shù)以刪除需要卸載的安卓插件文件;判斷所述安卓插件文件是否刪除成功;在不存在需要卸載的安卓插件文件或者安卓插件文件刪除成功時,將插件卸載成功的信息寫入插件狀態(tài)文本中;在安卓插件文件刪除失敗時,將插件卸載失敗的信息寫入插件狀態(tài)文本中。
6.如權(quán)利要求3所述的方法,其特征在于,在建立的服務(wù)句柄為停止服務(wù)時,所述Android服務(wù)器首先停止監(jiān)聽socket鏈接,以斷開與預(yù)設(shè)的Java接口的通信; 再停止所述Android服務(wù)器本身的操作。
7.基于安卓瀏覽器的插件管理系統(tǒng),其特征在于,所述系統(tǒng)包括操作命令發(fā)送單元,用于Android瀏覽器接收用戶根據(jù)彈出的命令窗口輸入的操作命令,并將接收的操作命令發(fā)送給VC插件接口,所述操作命令包括下載安裝安卓插件命令、 卸載插件命令以及停止服務(wù)命令;第一操作命令轉(zhuǎn)發(fā)單元,用于所述VC插件接口接收到所述Android瀏覽器發(fā)送的操作命令后,使用C語言調(diào)用預(yù)設(shè)的Java接口中與接收的操作命令對應(yīng)的函數(shù)方法,以便將接收的操作命令發(fā)送給該預(yù)設(shè)的Java接口 ;第二操作命令轉(zhuǎn)發(fā)單元,用于所述預(yù)設(shè)的Java接口從被調(diào)用的函數(shù)方法中獲取所述 VC插件接口發(fā)送的操作命令,并將獲取的操作命令發(fā)送給Android服務(wù)器;操作命令響應(yīng)單元,用于所述Android服務(wù)器接收到所述預(yù)設(shè)的Java接口發(fā)送的操作命令后,作出相應(yīng)的響應(yīng),并將插件下載安裝或插件卸載的狀態(tài)信息寫入插件狀態(tài)文本中, 所述響應(yīng)包括創(chuàng)建插件存放路徑、刪除插件文件、讀插件文件、寫插件文件的任一種;狀態(tài)信息獲取單元,用于所述預(yù)設(shè)的Java接口通過狀態(tài)獲取函數(shù)從插件狀態(tài)文本中獲取插件的狀態(tài)信息,并將該狀態(tài)信息發(fā)送給所述VC插件接口,所述狀態(tài)信息包括插件下載成功、插件下載失敗、修改文件權(quán)限失敗、插件安裝成功、插件卸載成功、狀態(tài)文本不存在以及鏈接失敗的任一種;狀態(tài)信息轉(zhuǎn)發(fā)單元,用于所述VC插件接口接收所述預(yù)設(shè)的Java接口發(fā)送的狀態(tài)信息, 并將該狀態(tài)信息轉(zhuǎn)發(fā)至所述Android瀏覽器;狀態(tài)信息顯示單元,用于所述Android瀏覽器接收并顯示VC插件接口轉(zhuǎn)發(fā)的狀態(tài)信息
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述第二操作命令轉(zhuǎn)發(fā)單元包括操作命令獲取模塊,用于所述預(yù)設(shè)的Java接口從被調(diào)用的函數(shù)方法中獲取VC插件接口發(fā)送的操作命令;第一 socket鏈接建立模塊,用于所述預(yù)設(shè)的Java接口通過綁定Android服務(wù)器的IP 和端口創(chuàng)建與所述Android服務(wù)器通信的socket鏈接;socket鏈接判斷模塊,用于判斷socket鏈接是否成功建立;操作命令傳遞模塊,用于在socket鏈接成功建立時,所述預(yù)設(shè)的Java接口根據(jù)獲取的操作命令提供下載安裝安卓插件、卸載安卓插件、停止服務(wù)中任一個用于傳遞消息的函數(shù)方法,以便通過提供的函數(shù)方法將獲取的操作命令發(fā)送給Android服務(wù)器;鏈接失敗信息反饋模塊,用于在socket鏈接建立失敗時,返回鏈接失敗信息給VC插件插口。
9.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述操作命令響應(yīng)單元包括第二 socket鏈接建立模塊,用于所述Android服務(wù)器監(jiān)聽socket鏈接,以取得與所述預(yù)設(shè)的Java接口的聯(lián)系;服務(wù)器引擎線程調(diào)用模塊,用于在所述Android服務(wù)器與所述預(yù)設(shè)的Java接口實現(xiàn)通信時,啟動Android服務(wù)器引擎線程,以通過調(diào)用所述Android服務(wù)器引擎線程獲取所述預(yù)設(shè)的Java接口傳遞的操作命令;服務(wù)句柄建立模塊,用于根據(jù)接收的操作命令建立與所述操作命令對應(yīng)的服務(wù)句柄, 所述服務(wù)句柄為下載安裝安卓插件、卸載安卓插件、停止服務(wù)模塊中的任一種;狀態(tài)信息寫入模塊,用于根據(jù)建立的服務(wù)句柄響應(yīng)接收的操作命令,并將響應(yīng)操作命令后插件下載安裝或插件卸載的狀態(tài)信息寫入插件狀態(tài)文本中。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,在建立的服務(wù)句柄為下載安裝安卓插件時,所述狀態(tài)信息寫入模塊包括存放路徑指定模塊,用于指定下載安卓插件文件后的具體存放路徑;網(wǎng)絡(luò)地址保存模塊,用于解析獲取的安卓插件文件下載路徑,并保存解析安卓插件文件下載路徑獲取的所述安卓插件文件的Url地址;網(wǎng)絡(luò)連接判斷模塊,用于判斷與所述安卓插件文件的Url地址的網(wǎng)絡(luò)連接是否正常; 插件保存模塊,用于在網(wǎng)絡(luò)連接正常時,與安卓插件文件進行http連接,開始執(zhí)行安卓插件文件保存操作;網(wǎng)絡(luò)連接關(guān)閉模塊,用于檢測安卓插件文件的下載過程,若在下載過程中捕獲到異常, 則刪除已下載但不完整的文件,若沒有捕獲到異常,則通過文件的輸入輸出流方式進行文件的寫操作,并在寫完之后關(guān)閉文件以及關(guān)閉與所述安卓插件文件的Url連接;插件異常判斷模塊,用于判斷下載的安卓插件文件的長度是否為0,若為0,則將插件下載失敗信息寫入插件狀態(tài)文本中,否則,將插件下載成功信息寫入插件狀態(tài)文本中,并修改所述安卓插件文件的權(quán)限;插件下載結(jié)束模塊,用于斷開與安卓插件文件的http連接,結(jié)束所述安卓插件文件的下載;插件安裝模塊,用于安裝下載的安卓插件文件,并在安裝成功后將插件安裝成功的信息寫入插件狀態(tài)文本中;錯誤信息返回模塊,用于在網(wǎng)絡(luò)連接不正常時,返回網(wǎng)絡(luò)連接錯誤信息;在建立的服務(wù)句柄為卸載安卓插件時,所述狀態(tài)信息寫入模塊包括卸載插件路徑指定模塊,用于指定需要卸載的安卓插件文件的存放路徑;插件存在判斷模塊,用于判斷指定的存放路徑中是否存在需要卸載的安卓插件文件; 插件卸載模塊,用于在存在需要卸載的安卓插件文件時,調(diào)用文件刪除函數(shù)以刪除需要卸載的安卓插件文件;插件卸載成功判斷模塊,用于判斷所述安卓插件文件是否刪除成功;插件卸載成功寫入模塊,用于在不存在需要卸載的安卓插件文件或者安卓插件文件刪除成功時,將插件卸載成功的信息寫入插件狀態(tài)文本中;插件卸載失敗寫入模塊,用于在安卓插件文件刪除失敗時,將插件卸載失敗的信息寫入插件狀態(tài)文本中;在建立的服務(wù)句柄為停止服務(wù)時,所述狀態(tài)信息寫入模塊包括通信斷開模塊,用于所述Android服務(wù)器停止監(jiān)聽socket鏈接,以斷開與預(yù)設(shè)的Java 接口的通信;自身操作停止模塊,用于停止所述Android服務(wù)器本身的操作。
全文摘要
本發(fā)明適用于瀏覽器插件處理領(lǐng)域,提供了基于安卓瀏覽器的插件管理方法及系統(tǒng)。所述方法包括安卓瀏覽器接收操作命令,并將操作命令發(fā)送給VC插件接口;VC插件接口調(diào)用對應(yīng)的函數(shù)方法,以便將接收的操作命令發(fā)送給該預(yù)設(shè)的Java接口;預(yù)設(shè)的Java接口將獲取的操作命令發(fā)送給安卓服務(wù)器;安卓服務(wù)器接收到預(yù)設(shè)的Java接口發(fā)送的操作命令后,作出相應(yīng)的響應(yīng),并將插件下載安裝或插件卸載的狀態(tài)信息寫入插件狀態(tài)文本中;預(yù)設(shè)的Java接口獲取插件的狀態(tài)信息,并將該狀態(tài)信息發(fā)送給VC插件接口;VC插件接口將該狀態(tài)信息轉(zhuǎn)發(fā)至安卓瀏覽器;安卓瀏覽器接收并顯示VC插件接口轉(zhuǎn)發(fā)的狀態(tài)信息。本發(fā)明實施例提高了用戶網(wǎng)上沖浪的效果。
文檔編號G06F9/44GK102609267SQ20121003517
公開日2012年7月25日 申請日期2012年2月16日 優(yōu)先權(quán)日2012年2月16日
發(fā)明者呂文楊, 鄧小斌, 邱傳賢, 馬良 申請人:深圳市酷開網(wǎng)絡(luò)科技有限公司