使用 JSON 发送带有数据的推送通知
Send push notification with data using JSON
我想发送一个包含一些数据的推送通知。例如
我从 parse
发送这个
{ "phoneId": "EJw6pFSQNY", "action": "com.parse.starter.UPDATE_STATUS" }
如何从 android 设备发送它。我正在使用以下代码
JSONObject obj = null;
try {
obj = new JSONObject();
obj.put("phoneId",pass);
obj.put("action","com.parse.starter.UPDATE_STATUS");
} catch (JSONException e) {
e.printStackTrace();
}
ParsePush push = new ParsePush();
ParseQuery query = ParseInstallation.getQuery();
// Notification for Android users
query.whereEqualTo("objectId", pass);
Log.d("LOG",pass);
push.setQuery(query);
push.setData(obj);
push.setMessage(pass);
push.sendInBackground();
这是我用来检索数据的代码
JSONObject notificationPayload = new JSONObject(intent.getExtras().getString("com.parse.Data"));
id = notificationPayload.getString("phoneId");
但这不起作用。
您不能同时执行 setData
和 setMessage
。 documentation 表示如果调用一个,就会覆盖另一个。在您的情况下,调用 setMessage 将覆盖您的 setData 调用。
我想发送一个包含一些数据的推送通知。例如
我从 parse
发送这个
{ "phoneId": "EJw6pFSQNY", "action": "com.parse.starter.UPDATE_STATUS" }
如何从 android 设备发送它。我正在使用以下代码
JSONObject obj = null;
try {
obj = new JSONObject();
obj.put("phoneId",pass);
obj.put("action","com.parse.starter.UPDATE_STATUS");
} catch (JSONException e) {
e.printStackTrace();
}
ParsePush push = new ParsePush();
ParseQuery query = ParseInstallation.getQuery();
// Notification for Android users
query.whereEqualTo("objectId", pass);
Log.d("LOG",pass);
push.setQuery(query);
push.setData(obj);
push.setMessage(pass);
push.sendInBackground();
这是我用来检索数据的代码
JSONObject notificationPayload = new JSONObject(intent.getExtras().getString("com.parse.Data"));
id = notificationPayload.getString("phoneId");
但这不起作用。
您不能同时执行 setData
和 setMessage
。 documentation 表示如果调用一个,就会覆盖另一个。在您的情况下,调用 setMessage 将覆盖您的 setData 调用。