如何在黑莓中实现自动更新功能

时间:2011-03-05 20:22:22

标签: blackberry java-me auto-update

我想开发可以与我的黑莓应用程序集成的代码。这将检查服务器是否有可用的新版本,如果找到,则会自动下载,安装或替换旧版本,运行新安装的应用程序。

目标是无需用户输入。

2 个答案:

答案 0 :(得分:4)

以下建议适用于OTA安装。我不确定BlackBerry World如何处理这个问题。

您可以拥有一个返回最新版本应用程序的服务。 应用程序将在启动时调用此服务(或每天/每周/每月一次 - 但您要定义此服务)。然后你做这个检查:

if(serverReturnedVersionNumber>currentApplicationVersionNumber) {
    //popup to ask if user wants to upgrade?
    BrowserSession browser = Browser.getDefaultSession();
    browser.displayPage(urlToDownloadNewVersion);
    System.exit(0);
}

urlToDownloadNewVersion应该返回一个text/vnd.sun.j2me.app-descriptor mime-type(那是一个.jad文件),它应该安装新版本的应用程序(OTA安装)。

答案 1 :(得分:1)

我认为当您从黑莓应用程序世界下载任何应用程序时,黑莓应用程序世界会采取以下步骤。

  1. 从服务器下载cod文件。
  2. 将代码文件保存在本地文件系统中并应用enableDRMForwardLock()。
  3. 使用CodeModuleManager安装cod文件。
  4. 使用

    codeModuleGroup.setProperty(String name,                         字符串值) 设置jad属性。如RIM_APP_WORLD_NAME,RIM_APP_WORLD_UPDATE_AVAIL

  5. 所以我认为你可以做3件事。

    a)如果您的应用程序位于黑莓应用程序世界,请阅读jad属性RIM_APP_WORLD_UPDATE_AVAIL并启动黑莓应用程序世界。

    Interface with the BlackBerry App World

    b)按照Mugur的建议启动浏览器。

    c)像黑莓app世界下载鳕鱼文件一样,安装鳕鱼文件并卸载当前的应用程序。 Programmatically install and upgrade applications