我正在尝试使用Parse Push向我自己的设备发送推送通知。但是,每当我尝试将JSONObject设置为数据时,我的设备都不会收到任何内容。我尝试过setMessage()并且它有效。知道什么是错的吗?
ParseQuery pushQuery = ParseInstallation.getQuery();
pushQuery.whereEqualTo("username", "abc@zzz.com");
ParsePush push = new ParsePush();
JSONObject obj= null;
try {
obj = new JSONObject("{\"channel\":\"nom_nom_CH@\",\"cat\":\"WP\"}");
obj.put("action","com.parse.starter.UPDATE_STATUS");
} catch (JSONException e) {
e.printStackTrace();
}
push.setQuery(pushQuery);
push.setData(obj);
push.sendInBackground();
}
对于接收器
@Override
public void onPushOpen(Context context, Intent intent) {
Bundle extras = intent.getExtras();
String jsonData = extras.getString("com.parse.Data");
JSONObject jsonObject;
try {
jsonObject = new JSONObject(intent.getExtras().getString("com.parse.Data"));
String channel = jsonObject.getString("channel");
Log.d("Channel", channel);
} catch (JSONException e) {
e.printStackTrace();
}
Intent i = new Intent(context, Activity_Invite_nom.class);
i.putExtras(intent.getExtras());
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
答案 0 :(得分:0)
我已经弄明白我的代码存在问题。事实证明,我只需要实现这两行
data.put("alert", "" + fullname + " invited you to nom!");
data.put("action", Parse_Receiver.KEY_PUSH_CHANNEL);
感谢大家的帮助