我将parse.com的通知发送给我的用户。我在BroadcastReceiver中收到此消息并在那里做其他工作。
问题是我收到了每条消息的通知,而且我不希望我的用户看到此通知。我从parse.com发送json数据,而usrrs不应该看到类似的东西。
这是broadcaseRecevier代码:
public class ParseBroadcastReceiver extends BroadcastReceiver {
JSONArray contacts = null;
@Override
public void onReceive(Context context, Intent intent) {
Bundle extra = intent.getExtras();
String json = extra.getString("com.parse.Data");
JSONObject jObject;
try {
jObject = new JSONObject(json);
//jObject.optString("alert")
Log.v("this",jObject.getString("alert").replace("data:",""));
JSONObject jsons = new JSONObject(jObject.getString("alert").replace("data:",""));
String strTel = jsons.getString("tel");
} catch (JSONException e) {
Log.v("this","error "+e.getMessage());
}
}
}
我确定它来到这堂课。
答案 0 :(得分:1)
如果您不希望Parse在收到广播时生成通知,您可以创建自定义通知。
看起来这是一个很好的例子:Not Receiving Parse Push Notifications on Android in Custom BroadcastReceiver
基本上,我们的想法是使用JSON发送和'action'属性,其中包含Intent的名称。一旦收到推送,就会触发此意图(发送广播)。然后,您的自定义广播接收器可以按照您喜欢的方式处理收到的JSON。
快速查看文档:{{3}}并注意到'action'参数已不再提及,但确实仍然支持,因为我目前正依赖它。
如果任何parse.com员工看到这一点,那么在推送通知文档中对缺少的“action”参数发表评论会很不错。
<强>更新强>
我自己没有测试过,但是https://parse.com/docs/push_guide#options/Android部分的文档:Managing the Push Lifecycle
意味着您可以:
有人可能会覆盖onPushReceive来触发“静默”推送的后台操作,然后委托超级进行所有其他推送
<强> UPDATE2:强>
在Google Group的Parse讨论中打开了一个问题,发现不推荐使用Intent方法的“操作”(这就是为什么它不再被记录)。
https://parse.com/docs/push_guide#receiving-responding/Android