我想在手机启动时启动自己的服务实现?
如何实现?
应用程序可能需要在系统启动期间自动运行一次以执行初始化例程,例如注册侦听器和从持久存储中检索信息。
在系统完成核心启动任务(例如安全检查、建立网络连接和其他任务)之前,不应执行此类例程。
因此,应用程序应确保在运行自己的初始化代码之前完成系统启动,如下例所示:
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
}
您只需要在黑莓JDE的项目属性中设置“系统模块”和“自动启动”选项。这将在手机启动时启动您的应用程序。
您可以使用 IPC(某种)机制在“服务”和应用程序之间交换数据。有两种方法可以做到这一点:
在第一种方法中,将数据添加到存储时不会通知其他实体。