所以我一直在用城市飞艇发送推送通知,使用iosdevicepayload和androidevicepayload。它们可以正确地发送标准通知。但是,现在我需要发送无声通知。
对于ios,我可以在不使用setsounddata的情况下构建iosdevicepayload,并且通知不会有声音。所以问题是,如何使用androiddevicepayload实现同样的效果?
我试过不发送setsound,setsound设置为null,并将其设置为“静音”,但没有效果。为什么我认为“静音”会起作用是因为我发现了以下代码:
public class WNSSoundDeserializer extends JsonDeserializer<WNSAudioData.Sound> {
...
public WNSAudioData.Sound deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
String value = jp.getText();
WNSAudioData.Sound sound = WNSAudioData.Sound.get(value);
...
该代码:
public class WNSAudioData {
public enum Sound {
MUTE,
DEFAULT,
IM,
MAIL,
REMINDER,
SMS,
LOOPING_ALARM,
LOOPING_ALARM2,
LOOPING_CALL,
LOOPING_CALL2;
...
public static Sound get(String value) {
for (Sound sound : values()) {
if (value.equalsIgnoreCase(sound.getIdentifier())) {
return sound;
}
}
return null;
}
}
private final Sound sound;
...
我一直在四处搜索,人们一直在使用notificationcompat,我发现有些地方使用了空警报。我不想使用这些解决方案,因为我们需要有标题和正文的通知,在其他一切正常的情况下,将内容更改为使用notificationcompat似乎有些过分。
暂无答案!
目前还没有任何答案,快来回答吧!