Я искал проблему, с которой сталкиваюсь, но еще не нашел ничего, относящегося к тому, что я получаю от попытки получить InstanceID из GoogleCloudMessaging. Я попытался настроить вызов в классе, расширяющем IntentService, а также попытался использовать AsyncTask для вызова его в фоновом режиме, но безрезультатно.GoogleCloudMessaging InstanceID.getInstance возвращает null
Я ознакомился с учебными пособиями о том, как настроить манифест и приложение для получения правильной информации. Кто-нибудь знает, что может быть неправильным? Мои журналы говорят, что в экземпляре InstanceID.getInstance (getApplicationContext()) существует исключение nullPointerException;
мой призыв:
private class RegisterGCM extends IntentService{
public RegisterGCM(){
super("GcmIntentService");
registerDevice();
}
private void registerDevice(){
InstanceID instanceId = InstanceID.getInstance(getApplicationContext());
//Constants contains GCM_SENDER_ID which is the project number from Google Developer Console
String token = instanceId.getToken(Constants.GCM_SENDER_ID, GoogleCloudMessaging.INSTANCE_ID_SCOPE);
}
}
Я ставлю этот класс в моем классе LandingPage после входа в систему и вызвать его:
new RegisterGCM();
Это называется сразу после проверки, если игровые услуги до дата и обновление.
Любые идеи? Если мне нужно предоставить больше информации, я могу, но это всего лишь фрагмент того, что я могу опубликовать.
EDIT: Пробовал добавлять пристальный фильтр для обслуживания в Manifest и проверки, если getApplicationContext() равно нулю, и это то, что исключение возвращается говорит мне:
06-15 16:42:38.614: W/System.err(17295): java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference
06-15 16:42:38.624: W/System.err(17295): at android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:110)
06-15 16:42:38.624: W/System.err(17295): at com.google.android.gms.iid.InstanceID.zza(Unknown Source)
06-15 16:42:38.624: W/System.err(17295): at com.google.android.gms.iid.InstanceID.getInstance(Unknown Source)
06-15 16:42:38.624: W/System.err(17295): at .gcmnotification.GcmIntentService.registerDevice(GcmIntentService.java:33)
06-15 16:42:38.624: W/System.err(17295): at .gcmnotification.GcmIntentService.<init>(GcmIntentService.java:29)
06-15 16:42:38.624: W/System.err(17295): at .LandingPageActivity.onCreate(LandingPageActivity.java:115)
06-15 16:42:38.624: W/System.err(17295): at android.app.Activity.performCreate(Activity.java:6289)
06-15 16:42:38.624: W/System.err(17295): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
06-15 16:42:38.624: W/System.err(17295): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
06-15 16:42:38.624: W/System.err(17295): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2777)
06-15 16:42:38.624: W/System.err(17295): at android.app.ActivityThread.access$900(ActivityThread.java:179)
06-15 16:42:38.624: W/System.err(17295): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1462)
06-15 16:42:38.624: W/System.err(17295): at android.os.Handler.dispatchMessage(Handler.java:102)
06-15 16:42:38.624: W/System.err(17295): at android.os.Looper.loop(Looper.java:145)
06-15 16:42:38.624: W/System.err(17295): at android.app.ActivityThread.main(ActivityThread.java:5972)
06-15 16:42:38.624: W/System.err(17295): at java.lang.reflect.Method.invoke(Native Method)
06-15 16:42:38.624: W/System.err(17295): at java.lang.reflect.Method.invoke(Method.java:372)
06-15 16:42:38.624: W/System.err(17295): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388)
06-15 16:42:38.624: W/System.err(17295): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)
это сообщение об ошибке вернулся из мой улов блок: Попытки вызвать виртуальный метод «android.content.Context android.content.Context.getApplicationContext()» на нулевую ссылку на объект
Таким образом, я предполагаю, что getApplicationContext возвращается нулем?
Я звоню из моего класса деятельности, как так: новый RegisterGCM(); и я проверяю, если его возможный мой контекст имеет значение null now –
Я обновил свой вопрос при попытке этого, похоже, что это возвращается в блок catch catch. Попытка вызвать виртуальный метод 'android.content.Context android.content.Context. getApplicationContext() 'для ссылки на нулевой объект, так это значит, что getApplicationContext() возвращает null? –