黑莓 - 如何在手机启动时启动我自己的服务?

时间:2009-09-18 15:12:31

标签: blackberry blackberry-storm autorun

我想在手机启动时启动自己的服务实施?

如何实现它?

3 个答案:

答案 0 :(得分:2)

您只需在黑莓JDE的项目属性中设置“系统模块”和“自动启动”选项。这将在手机启动时启动您的应用。

答案 1 :(得分:2)

来自How To - Write safe initialization code

  

应用程序可能需要在系统启动期间自动运行一次,以执行初始化例程,例如注册侦听器和从持久存储中检索信息。

     

在系统完成核心启动任务(如安全检查,建立网络连接和其他任务)之前,不应执行此类例程。

     

因此,应用程序应确保在运行自己的初始化代码之前完成系统启动,如以下示例所示:

class MyApp implements SystemListener {
    public static void main(String[] args) {
        MyApp appInstance = new MyApp();
        // If system startup is still in progress when this
        // application is run.
        if (ApplicationManager.getApplicationManager().inStartup()) {
            appInstance.addSystemListener(appInstance);
        } else {
            appInstance.doStartupWorkLater();
        }
        appInstance.enterEventDispatcher();
    }
    // constructs
    MyApp() {
    }   
    private void doStartupWorkLater() {
        invokeLater(new Runnable() {
            public void run() {
                doStartupWork();
            }
        });
    }  
    private void doStartupWork() {
    }    
    // SystemListener
    public void powerUp() {
        removeSystemListener(this);
        doStartupWork();
    }
    // TODO: other SystemListener methods
}

答案 2 :(得分:0)

您可以使用IPC(种类)机制在“服务”和应用程序之间交换数据。有两种方法可以实现这一目标:

  1. net.rim.device.api.system.RuntimeStore具有放置和获取由唯一ID(long)标识的Object的方法。可以在JDE IDE中生成此ID。
  2. net.rim.device.api.system.ApplicationManager具有允许发布可以交换数据的全局事件的方法(再次由唯一ID标识)。另一个应用程序必须实现GlobalEventListener并向系统注册 - addGlobalEventListener。
  3. 在第一种方法中,当数据添加到商店时,不通知另一实体。