Je veux démarrer ma propre implémentation de service lorsque le téléphone démarre?Blackberry - comment démarrer mon propre service au démarrage du téléphone?
Comment y parvenir?
Je veux démarrer ma propre implémentation de service lorsque le téléphone démarre?Blackberry - comment démarrer mon propre service au démarrage du téléphone?
Comment y parvenir?
Vous avez juste besoin de définir les options "System Module" et "Auto Start" dans les propriétés du projet dans le JDE blackberry. Cela va démarrer votre application sur le démarrage du téléphone.
Vous pouvez utiliser un mécanisme IPC (sorte de) pour échanger des données entre le "Service" et l'Application. Il y a deux façons d'y parvenir:
Dans la première approche, l'autre entité n'est pas notifiée lorsque des données sont ajoutées à stocker.
Citation de How To - Write safe initialization code
Une application peut avoir besoin d'exécuter une fois automatiquement pendant le démarrage du système pour effectuer des routines d'initialisation telles que l'enregistrement des auditeurs et la récupération des informations de stockage persistant.
De telles routines ne doivent pas être exécutées tant que le système n'a pas terminé les tâches de démarrage principales telles que les contrôles de sécurité, l'établissement de la connectivité réseau et d'autres tâches.
Par conséquent, une application doit veiller à ce que le démarrage du système est terminée avant d'exécuter son propre code d'initialisation, comme le montre l'exemple suivant:
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
}