Java 当应用程序未运行时,应用程序在解析推送通知时崩溃
当我打开我的android应用程序并测试解析推送通知时,它就工作了。但当我因多任务处理而终止应用程序并再次测试时,应用程序崩溃了Java 当应用程序未运行时,应用程序在解析推送通知时崩溃,java,android,parse-platform,Java,Android,Parse Platform,当我打开我的android应用程序并测试解析推送通知时,它就工作了。但当我因多任务处理而终止应用程序并再次测试时,应用程序崩溃了 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Parse.initialize(MainActivity.t
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)
在Application onCreate中执行解析初始化,并确保在主线程中调用它
Parse.initialize(new Parse.Configuration.Builder(getApplicationContext()).applicationId(
...).build());
你能给我们一些代码吗?是的,添加了一些代码。解析的初始化应该在应用程序中完成,而不是在Activity@cYrixmorten谢谢,这对我很有帮助。没问题:)我不知道你为什么没有投票权。这对我很有用。