使用Parse响应推送通知

时间:2014-03-31 12:50:05

标签: android push-notification parse-platform

我使用Parse SDK在我的Android应用中接收推送通知。我的后端发送一个JSON格式的字符串,其中包含要在通知栏中显示的推送通知的内容。

我想要做的是解析这个JSON并根据它的内容,将用户带到应用程序的不同部分(活动)。我能够很好地接收和解析JSON,但是如何处理当用户点击通知栏中的通知时执行的实际操作?

我知道我可以配置Parse SDK以在订阅特定频道时打开不同的活动,如下所示:

    PushService.subscribe(this, "testing", ActivityA.class, R.drawable.ic_push);
    PushService.subscribe(this, "testing2", ActivityB.class, R.drawable.ic_push);
    // etc

但是这并没有真正帮助我,因为在我实际收到推送通知并解析JSON之前,我不知道要打开哪个Activity。所以,我正在寻找的是:

public class PushReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        try {
            JSONObject json = new JSONObject(intent.getExtras().getString("com.parse.Data"));

            if(json contains id = 0) {
                // open ActivityA when the user opens this notification
            } else if(json contains id = 1) {
                // open ActivityB when the user opens this notification
            }
        } catch (JSONException e) {
            Log.d("", "JSONException: " + e.getMessage());
        }
    }
}

如何使用Parse实现这一目标?感谢。

1 个答案:

答案 0 :(得分:0)

这不是一个直接而且很好的解决方案,但我认为它可以完成工作(我自己没有尝试过)。您可以使用该广播接收器并根据您的JSON数据调用PushService.setDefaultPushCallback(context, ActivityAorB.class);。这将设置在收到推送消息时调用的默认活动,以便在用户点击通知时打开此活动。

请务必将此接收器添加到清单中。

More info about broadcast receiver on parse