我使用Parse推送通知。我尝试做的是向订阅特定频道集的用户发送通知。通知应仅在用户拥有订阅的整个频道列表时发送。不是这些频道的子集。
我尝试使用查询然后
pushQuery.whereEqualTo("channels", audienceGender);
pushQuery.whereEqualTo("channels", audienceEducation);
pushQuery.whereEqualTo("channels", audienceCity);
但是它向订阅了这些频道中的任何一个频道的用户发送通知。像这样设置频道
channels.add("male");
产生相同的结果。无论如何要聚合一个字符串列表,然后将它们与用户订阅的所有频道进行比较?谢谢。
答案 0 :(得分:2)
Parse获取频道列表的建议方法是:
List<String> channels = ParseInstallation.getCurrentInstallation().getList("channels");
答案 1 :(得分:1)
我正在浏览文档(https://parse.com/docs/android_guide#queries),我认为:
ArrayList<String> channels = new ArrayList<String>();
channels.add(audienceGender);
channels.add(audienceEducation);
channels.add(audienceCity);
pushQuery.whereContainsAll("channels", channels);
应该可以正常使用