電話の起動時に独自のサービスの実装を開始したいですか?
それを達成する方法は?
ハウツーからの引用-安全な初期化コードを書く
リスナーの登録や永続ストレージからの情報の取得などの初期化ルーチンを実行するために、システムの起動時にアプリケーションを自動的に1回実行する必要がある場合があります。
このようなルーチンは、システムがセキュリティチェック、ネットワーク接続の確立、その他のタスクなどのコア起動タスクを完了するまで実行しないでください。
したがって、次の例に示すように、アプリケーションは、独自の初期化コードを実行する前に、システムの起動が完了していることを確認する必要があります。
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(一種の)メカニズムを使用して、「サービス」とアプリケーションの間でデータを交換できます。これを実現するには、次の2つの方法があります。
最初のアプローチでは、データがストアに追加されても、他のエンティティには通知されません。