啓動黑莓應用程序

啓動應用程序

這裏將介紹兩種在BlackBerry中啓動應用程序的方法。

1)使用Invoke

爲啓動一個應用程序,開發者可以調用帶有合適常量和ApplicationArguments 子類的對象的Invoke.invokeApplication(int, ApplicationArguments)方法。使用這種方法將導致一個處理上下文的轉化,當BlackBerry程序啓動時,你的應用程序將失去控制,在啓動的應用程序對話中止時,內容可能不會返回給你的應用程序。

 這種方法只能打開BlackBerry自帶的應用程序,因爲invokeApplication中的int參數代表的是應用程序的類型,這些類型已經在API中定義好了,開發者只能打開在API中有定義的那些應用程序。如,打開電話程序的示例代碼是:

 Invoke.invokeApplication( Invoke.APP_TYPE_PHONE, new PhoneArguments( PhoneArguments.ARG_CALL, "555-5555" ) )

更詳細的內容可以參看API

2)使用ApplicationManager:

net.rim.device.api.system.ApplicationManager類使應用程序可以和應用程序管理器交互,並完成下面的操作:與進程交互,例如獲取前臺應用程序的ID;發送一個全局事件給系統;鎖住或解鎖BlackBerry設備,或判斷BlackBerry設備是否鎖住;立即運行一個程序,或者在一個特定的時間運行應用程序

要運行一個應用程序,首先要獲得ApplicationManager的實例:

ApplicationManager manager = ApplicationManager.getApplicationManager();

接着要獲得程序的描述信息:

pplicationDescriptor template = ApplicationDescriptor.currentApplicationDescriptor();

  然後,根據原來的程序描述信息來創建新的描述信息:

String[] args = { "gui" };

ApplicationDescriptor newdescriptor = new ApplicationDescriptor(template, args);

 最後,根據新的參數來運行改程序:

try {

    appmanager.runApplication(newdescriptor);

}

catch(ApplicationManagerException) {

    // Handle the error.

}

這種方法由於沒辦法獲得其他應用程序的ApplicationDescriptor,既程序描述信息,所以只能是用另一些參數來啓動程序。BlackBerry支持多個進入點,可以用參數來區別這些進入點,用不同的進入點進入,系統中會有兩個進程,他們之間的數據共享也只能通過進程間的方式。

發佈了48 篇原創文章 · 獲贊 20 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章