專利名稱:在oms手機上啟動應(yīng)用程序的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及在OMS手機上啟動應(yīng)用程序的方法。
背景技術(shù):
以手機為代表的智能化移動終端設(shè)備既是計算機技術(shù)的一個重要發(fā)展方向,又是一個競爭十分激烈的市場。自從谷歌公司和開放手機聯(lián)盟推出安卓(Android)操作系統(tǒng)和基于Android的手機以來,很快就在世界手機市場上占有了不小的份額,各種Android手機層出不窮,由中國移動開發(fā)并推出的OPhone也是基于Android的,也是一種Android手機。開放管理系統(tǒng)(OMS)手機基于Android操作系統(tǒng)。Android操作系統(tǒng),實際上是對 Linux操作系統(tǒng)的一種改編和擴充,它的內(nèi)核基本上就是Linux的內(nèi)核,但是在用戶空間卻專門針對手機和移動終端設(shè)備的特點作了大幅的改進和增強,這些改動大都與編程模式和圖形界面,即圖形化用戶界面(GUI)有關(guān)。使OMS手機兼容WinCE/Windows Mobile手機應(yīng)用,無論對于用戶還是廠商而言卻有著重要的意義。這是因為,這使得OMS手機的用戶在應(yīng)用軟件方面就增加了許多選擇;原來的那些WinCE/Windows Mobile手機應(yīng)用開發(fā)者,現(xiàn)在也可以開發(fā)OMS應(yīng)用了,而且還可以慢慢過渡到專為OMS開發(fā)應(yīng)用軟件,成為OMS應(yīng)用開發(fā)者,使OMS手機的應(yīng)用軟件更加豐富為了讓現(xiàn)有的WinCE/Windows Mobile應(yīng)用程序在OMS手機上運行,需要解決 WinCE/Windows Mobile應(yīng)用程序在OMS手機上的啟動問題。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)中存在的上述問題,本發(fā)明提供了在OMS手機上啟動應(yīng)用程序的方法。本發(fā)明提供了在OMS手機上啟動應(yīng)用程序的方法,包括步驟1,在啟動應(yīng)用程序時,創(chuàng)建代理進程;步驟2,代理進程根據(jù)應(yīng)用程序的信息生成請求并將該請求發(fā)送至中間件的服務(wù)進程;步驟3,代理進程代理中間件的服務(wù)進程生成的進程對系統(tǒng)資源的請求,完成應(yīng)用程序的啟動;其中,所述應(yīng)用程序不是基于安卓操作系統(tǒng)的應(yīng)用程序,中間件用于將應(yīng)用程序二進制映像裝載到安卓手機上。在一個示例中,所述應(yīng)用程序為基于WinCE或Windows Mobile操作系統(tǒng)的應(yīng)用軟件;所述中間件為Wine應(yīng)用程序。在一個示例中,代理進程在應(yīng)用程序進程生成之后,代理進程的生命周期與應(yīng)用程序進程的生命周期相同。在一個示例中,應(yīng)用程序的信息為應(yīng)用程序的二進制映像名字和路徑。
在一個示例中,步驟2中,代理進程通過進程間通信向Wine應(yīng)用程序的服務(wù)進程發(fā)送啟動應(yīng)用的請求,并將代理進程自身的進程號告知Wine應(yīng)用程序的服務(wù)進程。在一個示例中,步驟3包括步驟31,代理進程監(jiān)聽Wine服務(wù)進程生成的對應(yīng)進程的請求;步驟32,代理進程接收到Wine應(yīng)用程序生成的進程的請求后,將請求發(fā)送給 Android操作系統(tǒng)的相應(yīng)模塊,并將操作系統(tǒng)返回的結(jié)果發(fā)送給請求的進程;步驟32,當(dāng)代理進程接收到Wine應(yīng)用程序生成的進程結(jié)束的信息后,代理進程退
出ο本發(fā)明解決了在OMS手機上啟動WinCE和Windows Mobile應(yīng)用程序的問題;讓 WinCE和Windows Mobile應(yīng)用程序通過Wine程序運行的過程對于OMS手機的用戶來說完全透明,用戶還是用OMS手機固有的方式啟動WinCE和Windows Mobile應(yīng)用程序,保持了應(yīng)用啟動方式的一致性。
下面結(jié)合附圖來對本發(fā)明作進一步詳細說明,其中圖1是OMS手機上啟動WinCE和Windows Mobile應(yīng)用程序的流程圖;圖2是OMS手機上啟動WinCE和Windows Mobile應(yīng)用程序的系統(tǒng)示意圖。
具體實施例方式由于WinCE和Windows Mobile的應(yīng)用程序不能直接運行在OMS手機上,需要通過運行在OMS手機系統(tǒng)上的Wine程序執(zhí)行。為了在OMS手機上啟動WinCE和Windows Mobile 的應(yīng)用程序,需要讓安裝在OMS手機上的WinCE和Windows Mobile應(yīng)用程序在啟動時通知運行在OMS手機上的Wine程序,然后由Wine程序啟動WinCE或Windows Mobile的應(yīng)用程序。為了通知Wine程序有WinCE或Windows Mobile的應(yīng)用程序需要運行,在用戶點擊應(yīng)用程序的圖標(biāo)后,生成一個AppProxy進程。AppProxy進程向Wine程序的server端發(fā)送WinCE或Windows Mobile應(yīng)用程序啟動的請求。Wine程序的server進程收到請求之后,創(chuàng)建一個線程啟動WinCE或Windows Mobile的應(yīng)用程序。AppProxy進程和與實際的應(yīng)用進程有著相同的生存周期。在WinCE或Windows Mobile應(yīng)用程序啟動的過程中,AppProxy承擔(dān)真實的應(yīng)用程序與Android系統(tǒng)之間的接口的作用。真實的應(yīng)用程序的進程向AppProxy請求系統(tǒng)的資源,AppProxy將請求轉(zhuǎn)發(fā)給Android系統(tǒng),并將Android系統(tǒng)的反饋結(jié)果返回給真實的應(yīng)用程序的進程。在OMS手機上啟動WinCE和Windows Mobile應(yīng)用程序的實現(xiàn)流程如下1、在OMS手機上每當(dāng)啟動一個WinCE或Windows Mobile應(yīng)用程序時,創(chuàng)建一個代理進程AppProxy,這個進程在實際的應(yīng)用進程創(chuàng)建后與實際的應(yīng)用進程有著相同的生存周期;用戶點擊WinCE和Windows Mobile應(yīng)用程序封裝的Android應(yīng)用程序時,啟動一個 Android應(yīng)用程序的進程,成為AppProxy。該進程與普通的Android應(yīng)用的進程結(jié)構(gòu)一樣。2、AppProxy根據(jù)WinCE或Windows Mobile應(yīng)用的信息生成一個請求,發(fā)送給Wine應(yīng)用的server端;DAppProxy向Linux系統(tǒng)管理單元發(fā)送請求,獲取Wine server的進程信息(進程號);2)如果成功返回Wine server進程的信息,AppProxy讀取WinCE或Windows Mobile應(yīng)用的信息(二進制映像名字和路徑),通過IPC機制(進程間通信)向運行在 Linux的Wine server進程發(fā)送啟動應(yīng)用的請求,并告知Wine server自己進程的信息,即代理進程的進程號。3)如果不存在Wine server進程,AppProxy向Linux系統(tǒng)管理單元請求啟動Wine server進程。并會重復(fù)步驟1)。4)AppProxy等待Wine server的反饋消息,如果返回成功,則AppProxy進入代理進程的功能。此時Wine server會生成一個真正的應(yīng)用進程來執(zhí)行WinCE或Windows Mobile應(yīng)用程序的功能。3.代理進程AppProxy代理Wine應(yīng)用生成的進程對系統(tǒng)資源的請求,完成應(yīng)用程序的啟動;DAppProxy進入代理功能之后,監(jiān)聽Wine server生成的對應(yīng)進程的請求。2) AppProxy接收到Wine應(yīng)用程序生成的進程的請求后,將請求發(fā)送給Android操作系統(tǒng)的相應(yīng)模塊,并將操作系統(tǒng)返回的結(jié)果發(fā)送給請求的進程。3)當(dāng)AppProxy接收到Wine應(yīng)用程序生成的進程結(jié)束的信息后,AppProxy退出。本發(fā)明讓W(xué)inCE和Windows Mobile應(yīng)用程序通過Wine程序運行,該調(diào)用過程對于OMS手機的用戶來說完全透明,用戶還是用OMS手機固有的方式啟動WinCE和Windows Mobile應(yīng)用程序,保持了應(yīng)用啟動方式的一致性。圖1和圖2分別是OMS手機上啟動WinCE和Windows Mobile應(yīng)用程序的流程圖和系統(tǒng)示意圖。圖1中,用戶啟動應(yīng)用程序后,先判斷是否為原生應(yīng)用,如果為原生應(yīng)用按照安卓應(yīng)用程序啟動;否則,生成AppProxy進程,并獲取Wine Server進程信息,獲取成功的話, Wine krver創(chuàng)建真正應(yīng)用進程,AppProxy進程代理真正應(yīng)用進程完成應(yīng)用初始化;如果未獲取成功,創(chuàng)建Wine krver進程,并重新獲取Wine krver進程信息。圖2中,Linux應(yīng)用通過IPC將顯示命令發(fā)送給中間進程,調(diào)用AppProxy進程,如果在Linux應(yīng)用中需要請求系統(tǒng)資源,Linux應(yīng)用向AppProxy進程發(fā)送請求,由AppProxy 進程和Android的系統(tǒng)調(diào)度模塊進行通訊,安卓系統(tǒng)的系統(tǒng)調(diào)度模塊請求和反饋Linux內(nèi)核的系統(tǒng)資源,如果其中需要將數(shù)據(jù)發(fā)送到輸入輸出設(shè)備的,Linux內(nèi)核的系統(tǒng)資源模塊會將結(jié)果發(fā)送至輸入輸出設(shè)備。以上所述僅為本發(fā)明的優(yōu)選實施方式,但本發(fā)明保護范圍并不局限于此。任何本領(lǐng)域的技術(shù)人員在本發(fā)明公開的技術(shù)范圍內(nèi),均可對其進行適當(dāng)?shù)母淖兓蜃兓?,而這種改變或變化都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.在OMS手機上啟動應(yīng)用程序的方法,其特征在于,包括 步驟1,在啟動應(yīng)用程序時,創(chuàng)建代理進程;步驟2,代理進程根據(jù)應(yīng)用程序的信息生成請求并將該請求發(fā)送至中間件的服務(wù)進程;步驟3,代理進程代理中間件的服務(wù)進程生成的進程對系統(tǒng)資源的請求,完成應(yīng)用程序的啟動;其中,所述應(yīng)用程序不是基于安卓操作系統(tǒng)的應(yīng)用程序,中間件用于將應(yīng)用程序二進制映像裝載到安卓手機上。
2.如權(quán)利要求1所述的在OMS手機上啟動應(yīng)用程序的方法,其特征在于,所述應(yīng)用程序為基于WinCE或Windows Mobile操作系統(tǒng)的應(yīng)用軟件;所述中間件為Wine應(yīng)用程序。
3.如權(quán)利要求2所述的在OMS手機上啟動應(yīng)用程序的方法,其特征在于,代理進程在應(yīng)用程序進程生成之后,代理進程的生命周期與應(yīng)用程序進程的生命周期相同。
4.如權(quán)利要求3所述的在OMS手機上啟動應(yīng)用程序的方法,其特征在于,應(yīng)用程序的信息為應(yīng)用程序的二進制映像名字和路徑。
5.如權(quán)利要求4所述的在OMS手機上啟動應(yīng)用程序的方法,其特征在于,步驟2中,代理進程通過進程間通信向Wine應(yīng)用程序的服務(wù)進程發(fā)送啟動應(yīng)用的請求,并將代理進程自身的進程號告知Wine應(yīng)用程序的服務(wù)進程。
6.如權(quán)利要求5所述的在OMS手機上啟動應(yīng)用程序的方法,其特征在于,步驟3包括 步驟31,代理進程監(jiān)聽Wine服務(wù)進程生成的對應(yīng)進程的請求;步驟32,代理進程接收到Wine應(yīng)用程序生成的進程的請求后,將請求發(fā)送給Android 操作系統(tǒng)的相應(yīng)模塊,并將操作系統(tǒng)返回的結(jié)果發(fā)送給請求的進程;步驟32,當(dāng)代理進程接收到Wine應(yīng)用程序生成的進程結(jié)束的信息后,代理進程退出。
全文摘要
本發(fā)明公開了包括步驟1,在啟動應(yīng)用程序時,創(chuàng)建代理進程;步驟2,代理進程根據(jù)應(yīng)用程序的信息生成請求并將該請求發(fā)送至中間件的服務(wù)進程;步驟3,代理進程代理中間件的服務(wù)進程生成的進程對系統(tǒng)資源的請求,完成應(yīng)用程序的啟動;其中,所述應(yīng)用程序不是基于安卓操作系統(tǒng)的應(yīng)用程序,中間件用于將應(yīng)用程序二進制映像裝載到安卓手機上。本發(fā)明解決了在OMS手機上啟動WinCE和Windows Mobile應(yīng)用程序的問題;讓W(xué)inCE和Windows Mobile應(yīng)用程序通過Wine程序運行的過程對于OMS手機的用戶來說完全透明,用戶還是用OMS手機固有的方式啟動WinCE和WindowsMobile應(yīng)用程序,保持了應(yīng)用啟動方式的一致性。
文檔編號G06F9/44GK102339222SQ20111017285
公開日2012年2月1日 申請日期2011年6月24日 優(yōu)先權(quán)日2011年6月24日
發(fā)明者徐鼎鼎, 毛德操, 王勛, 王承志, 陳天洲 申請人:浙大網(wǎng)新科技股份有限公司