2009-09-30 6 views
1

Je développe une application. (comme google talk) qui au démarrage du téléphone démarre un service d'arrière-plan qui est en cours d'exécution. Ce service interagit avec l'interface utilisateur (signifie que toute demande au serveur est d'abord envoyée de l'interface utilisateur au service & du service au serveur) & Toute réponse est envoyée à l'interface utilisateur via le service.Gestion de la communication à l'aide de Service dans Blackberry 4.5

Ce que je sais démarrer le service d'arrière-plan jusqu'à démarrage est « Créer un point d'entrée alternative et l'utiliser pour démarrer le service d'arrière-plan. »

right click the project properties then go to Application tab, then check "Auto run on startup"/"System Module"

est-il juste?

Dans Android, vous pouvez obtenir ce service en utilisant la classe de service définie par le système. Comment réaliser ceci dans Blackberry 4.5? Je veux le faire (UI & Service) dans un projet.

Une solution?


Merci pour la réponse.

j'ai eu un lien pour

"How To - Setup an alternate entry point for my application"

est-il la bonne solution pour le service de départ?

Je veux l'application. comme application de messagerie. qui vous avertira quand un courrier entrant arrive (comme même si votre application principale est minimisée puis votre service fonctionne en arrière-plan qui vérifiera continuellement tout courrier entrant & notifiera l'application principale via n'importe quel changement d'icône)

Donc, pour cela est-il une classe comme classe de service qui va démarrer au démarrage ou "Configurer un autre point d'entrée pour mon application principale de l'interface utilisateur" est la seule solution pour cela?


Merci pour la réponse ..

J'ai lu ce GlobalEveltListener & a essayé de gérer la communication entre les 2 applications (application service. & app de l'interface utilisateur.) En démarrant le service à l'auto-démarrage.

J'utilise le "Persistent Store" & pour y accéder dans les deux applications. Mais le nom Persistent Store doit être unique sinon il donne "erreur Linker: Impossible de démarrer l'application Service car Persistent Store est défini plusieurs fois". Mais je dois accéder au magasin Persistent les deux applications pour faire quelques appels de base de données.

Alors maintenant j'essaie de gérer le service en mettant les deux applications dans un projet. Alors que le magasin Persistent sera unique.

Comment réaliser cette communication entre le service & Interface utilisateur dans un projet?

Répondre

4

Vous avez seulement besoin d'un autre point d'entrée si vous voulez que le programme se comporte à la fois en mode service, en commençant au démarrage et en courant en arrière-plan; et en mode application, avec une icône sur l'écran d'accueil sur laquelle l'utilisateur peut cliquer pour commencer à interagir avec votre logiciel. Dans ce cas, vous devez avoir un point d'entrée qui indique au programme "que vous démarrez automatiquement au démarrage" et un qui indique au programme "que vous démarrez en réponse à l'interaction de l'utilisateur".

Il existe d'autres façons de gérer cela. Si votre application est mise à la disposition de l'utilisateur via ApplicationMenus, vous effectuez le seul et unique point d'entrée "Exécution automatique" et "Module système" pour démarrer au démarrage, enregistrer les menus et n'afficher aucune icône.

Vous pouvez également utiliser un point d'entrée défini sur "Exécution automatique", mais pas un module système, afin que l'icône s'affiche et détecte le démarrage au démarrage à l'aide de la méthode ApplicationManager.inStartup().

La méthode que vous décrivez fonctionne bien pour le type d'application que vous développez. Cela simplifie l'initialisation en vous permettant de spécifier différents arguments pour le programme dans chaque point d'entrée.

+1

Correct, et je tiens à ajouter que dans une application en arrière-plan simple, vous étendez la classe Application au lieu de UIApplication. –

0

Veuillez voir la réponse que j'ai donnée plus tôt à une autre question here. Ceci est essentiellement un mécanisme IPC entre deux processus en cours d'exécution.

+0

Je fais avec RuntimeStore. Jusqu'à présent, je suis en mesure d'obtenir des objets dans l'interface utilisateur qui sont créés en service. Mais ce n'est pas passer du service à l'interface utilisateur? – Shreyas

Questions connexes