Cómo obtener el token del dispositivo

Después de que la instalación se ha hecho necesito conseguir el deviceToken para otros propósitos. Esto es lo que he desarrollado hasta ahora:

Parse.initialize(this, "qqd423WEfwWEF32FewferT434fs323rfRT", "g7Rre4g7gsGRwgGw458Hdf443gFHk534Mrtg34"); final ParseInstallation currentInstallation = ParseInstallation.getCurrentInstallation(); currentInstallation.saveInBackground(new SaveCallback() { public void done(ParseException e) { if (e == null) { System.out.println("ok"); deviceToken = currentInstallation.get("deviceToken").toString(); System.out.println(deviceToken); } else { System.out.println("not ok"); } } }); 

El problema es que si ejecuto el código de la aplicación se bloquea y este es el error generado:

 02-02 09:44:17.151 ﹕ FATAL EXCEPTION: main, PID: 5855 java.lang.NullPointerException 

y la pieza de código que genera esta es esta pieza:

 deviceToken = currentInstallation.get("deviceToken").toString(); 

¿Hay alguien que me pueda ayudar? Simplemente necesito obtener el deviceToken después de la instalación.

No hay ningún problema en el código, supongo que está probando este código en el emulador y en el emulador no tendrá ningún deviceToken , pruebe su código en el dispositivo real.

Podría ser tarde, pero también podría ser útil 🙂

Parse a veces tiene algunos retrasos cuando el método done () se llama, he visto que se llama después de haber jugado con la aplicación durante 3 minutos y salir de ella.

Utilicé un orden diferente para las llamadas al método:

 Parse.initialize(this, "*******", "*******"); ParsePush.subscribeInBackground("", new SaveCallback() { @Override public void done(ParseException e) { if (null == e) { ParseInstallation install = ParseInstallation.getCurrentInstallation(); String token = install.getString("deviceToken"); if (token != null) { //saved it locally and other stuff } else { //saved a temporary default value locally } } } }); ParseInstallation.getCurrentInstallation().saveInBackground(); 

Espero que esto ayude de alguna manera.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.