我使用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实现这一目标?感谢。
答案 0 :(得分:0)
这不是一个直接而且很好的解决方案,但我认为它可以完成工作(我自己没有尝试过)。您可以使用该广播接收器并根据您的JSON数据调用PushService.setDefaultPushCallback(context, ActivityAorB.class);
。这将设置在收到推送消息时调用的默认活动,以便在用户点击通知时打开此活动。
请务必将此接收器添加到清单中。