检查用户是否订阅了频道列表

Checking if User is Subscribed to List of Channels

我正在使用 Parse 推送通知。我想要做的是向订阅了一组特定频道的用户发送通知。只有当用户订阅了整个频道列表时,才应发送通知。不是这些频道的子集。

我尝试使用查询,然后

pushQuery.whereEqualTo("channels", audienceGender);
pushQuery.whereEqualTo("channels", audienceEducation);
pushQuery.whereEqualTo("channels", audienceCity);

但它会向订阅其中任何一个频道的用户发送通知。像这样设置频道

channels.add("male");

产生了相同的结果。无论如何聚合一个字符串列表,然后将它们与用户订阅的所有频道进行比较?谢谢。

我正在查看文档 (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);

应该可以正常工作

Parse 获取频道列表的建议方法是:

List<String> channels = ParseInstallation.getCurrentInstallation().getList("channels");