0

Je travaille avec Google Play LocationClient. Je l'ai initialisé dans onCreate() comme indiqué dans les documents:Android GooglePlay LocationClient est null, bien qu'initialisé dans onCreate()

mLocationClient = new LocationClient(this, this, this); 

et je fais une connexion à onStart()

mLocationClient.connect(); 

Il fonctionne très bien dans mon téléphone Android, mais dans le développeurs Console Je vois qu'une exception NullPointerException se produit dans la ligne connect(). Comment cela peut-il se produire?

+0

Pouvez-vous poster plus de code? – jimmyC

+0

Il se passe beaucoup de choses dans onCreate(). Initialisation TextViews, Variables, ActionBar, Fragments, ... Je ne sais pas comment cela pourrait aider. Il fonctionne sur mon appareil et un autre – MrHill

+1

Poster la sortie LogCat pour l'exception que vous voyez –

Répondre

0

Cela est probablement dû au fait que le périphérique qui cause le NPE ne dispose pas du service Google Play ou n'est pas à jour. En onCreate vous pouvez vérifier

int errorCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this); 
if (errorCode != ConnectionResult.SUCCESS) 
{ 
     if (DEBUG) {Log.d(TAG, "errorCode = " + errorCode);} 
     Dialog errorDialog = GooglePlayServicesUtil.getErrorDialog(errorCode, this, 
           1, new DialogCancelListener()); 
     errorDialog.show(); 
} 

qui affiche une boîte de dialogue pour demander à l'utilisateur d'aller à Google Store pour mettre à jour ou installer.
En onStart vous devez vérifier null

if (mLocationClient != null) 
{ 
    mLocationClient.connect(); 
} 
+0

Merci. C'était vrai. onStart() est appelée lorsque GooglePlayServices n'est pas disponible et que le NullPointer est arrivé – MrHill

Questions connexes