2010-01-31 7 views
1

J'ai le problème suivant: Nous avons enregistré différents ProximityListeners dans JavaME à un LocationProvider. Tout fonctionne correctement avec l'émulation d'événements externes et la méthode proximityEvent est déclenchée correctement.JavaME: ProximityListener détruit/non enregistré après une utilisation?

Problème: Après "une utilisation", la méthode n'est plus déclenchée. Le LocationProvider fonctionne toujours bien, car la position change, mais ProximityListener ne fait rien, jusqu'à ce que vous l'ajoutiez à nouveau.

API dit:

Indépendamment de l'état, le reste ProximityListener enregistrée jusqu'à ce que l'application supprime explicitement avec LocationProvider.removeProximityListener ou les sorties d'application.

Mais je ne peux pas voir ce comportement, y a-t-il un bug ou un malentendu commun?

+0

quel modèle de téléphone? toute version de firmware que vous pouvez trouver serait également utile si c'est un bug. –

Répondre

0

J'ai seulement vraiment utilisé JSR 179 sur Nokia Series 60, mais je me souviens d'un bug lors de son utilisation qui peut être à l'origine de vos problèmes aussi. Lorsque vous définissez votre ProximityListener sur votre LocationProvider, vous devez garder une référence au LocationProvider dans votre code, sinon il sera nettoyé comme "ordure" d'une certaine forme. Exemple:

private void startLocationListener() throws Exception { 
    LocationProvider lp = LocationProvider.getInstance(null); 
    lp.setLocationListener(this); 

    // Error on S60, as the location provider is about to go out of scope, 
    // and we won't hear about any location updates! Fix this by declaring lp 
    // outwith this method 
} 

ISTR trouver quelqu'un d'autre qui avait connu ce problème aussi (je pense qu'il était sur le Forum Nokia), au moment où je l'ai vécu, mais je ne peux pas trouver le lien maintenant.

Espérons que cela aide.

Questions connexes