【发布时间】:2015-11-11 14:08:52
【问题描述】:
当我打开我的 android 应用程序并测试解析推送通知时,它可以工作。但是当我从多任务处理中终止我的应用程序并再次测试时,应用程序崩溃了。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Parse.initialize(MainActivity.this, "cMm2mJvkRlIButQ0wM4lfj5veFxrQYUKw8P4mdM4", "bOplHPHvWb9IRzv2EbQnylWFgyveTsDYEspV2qs0");
ParseAnalytics.trackAppOpenedInBackground(getIntent());
ParsePush.subscribeInBackground("", new SaveCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
Log.d("com.parse.push", "successfully subscribed to the broadcast channel.");
} else {
Log.e("com.parse.push", "failed to subscribe for push", e);
}
}
});
}
错误日志
08-18 21:16:21.694 24406-24406/? E/AndroidRuntime:致命异常: 主要的 进程:com.myatminsoe.mkeyboard,PID:24406 java.lang.RuntimeException:无法创建服务 com.parse.PushService:java.lang.NullPointerException:尝试 调用虚拟方法'android.content.Context com.parse.ParsePlugins$Android.applicationContext()' 在一个空对象上 参考 在 android.app.ActivityThread.handleCreateService(ActivityThread.java:2771) 在 android.app.ActivityThread.access$1800(ActivityThread.java:151) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1386) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:135) 在 android.app.ActivityThread.main(ActivityThread.java:5254) 在 java.lang.reflect.Method.invoke(本机方法) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 引起:java.lang.NullPointerException:尝试调用虚拟方法'android.content.Context com.parse.ParsePlugins$Android.applicationContext()' 在一个空对象上 参考 在 com.parse.PushService.onCreate(PushService.java:238) 在 android.app.ActivityThread.handleCreateService(ActivityThread.java:2761) 在 android.app.ActivityThread.access$1800(ActivityThread.java:151) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1386) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:135) 在 android.app.ActivityThread.main(ActivityThread.java:5254) 在 java.lang.reflect.Method.invoke(本机方法) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
【问题讨论】:
-
你能给我们一些代码吗?
-
是的,添加了一些代码
-
Parse的初始化应该在Application而不是Activity中完成
-
@cYrixmorten 谢谢,这对我有帮助。
-
没问题 :) 快乐编码
标签: java android parse-platform