我无法在Parse的应用程序中收到推送通知

我在我的应用程序中配置了Parse API,除推送通知外,一切正常。 我试图从网站发送它们,但他们没有到达应用程序。 我做了文档中写的所有内容 ,但我无法收到通知推送。

我能够收到一个,当我按下它应用程序崩溃。 现在我试图改变一些东西,但即使扭转我也不能再收到它们了。 我该如何解决我的问题?

编辑:由于一些用户可能感兴趣,这是我用于推送通知的代码的部分:

主类(不是MainActivity):

public class InstantsApplication extends Application { public void onCreate() { super.onCreate(); // Hidden Parse.initialize(this, "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); ParseInstallation.getCurrentInstallation().saveInBackground(); 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); } } } } 

AndroidManifest(权限不在此处,相信我,我已经把它们):

                          

之前我遇到过这个问题,因为你使用的是最新的Parse api。 您只需进行一些更改即可。

首先,要修复由Parse后端发出推送直接导致的错误,您需要在Manifest中为Parse推送声明一个通知图标。

   

在关闭应用程序之前使用-Tag。

现在从后端发出另一个推送将按预期向您发送推送通知。 到现在为止还挺好。 单击推送将导致应用程序再次崩溃。 要解决此问题,您需要删除现已弃用的调用PushService.setDefaultPushCallback(...)并添加您自己的Receiver类。 我在* .util包中做了这个,如下所示:

 public class Receiver extends ParsePushBroadcastReceiver { @Override public void onPushOpen(Context context, Intent intent) { Intent i = new Intent(context, MainActivity.class); i.putExtras(intent.getExtras()); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } } 

接下来,将默认的Parse接收器更改为刚创建的接收器: – 转到Manifest文件。