我正在为一个项目发送通知给iPhone。我用javapns。但是当我发出信息的时候:
pushManager.sendNotification(client, complexPayLoad);
我发现邮件无法正确返回,导致cpu使用率变为100%。 谁能告诉我我的代码哪里错了?感谢。
更多完整代码
try {
// create a complex PayLoad with a custom alert
PayLoad complexPayLoad = new PayLoad();
PayLoadCustomAlert customAlert = new PayLoadCustomAlert();
customAlert.addBody(message);
complexPayLoad.addCustomAlert(customAlert);
complexPayLoad.addSound("chime");
for (String key : new HashSet<String>(data.keySet())) {
complexPayLoad.addCustomDictionary(key, (String)data.get(key));
}
try {
// Link iPhone's UDID (64-char device token) to a stringName
pushManager.addDevice(token, token);
} catch (Exception ex) {
// Perhaps we added duplicate devices
log.debug("Perhaps we added duplicate devices");
}
// Get iPhone client
Device client = pushManager.getDevice(token);
// Send message
pushManager.sendNotification(client, complexPayLoad);
log.info("Message sent!"); // i cannot get this message
} catch (Exception e) {
log.error(e.getMessage());
}
答案 0 :(得分:0)
什么版本?
第2版刚刚问世,并解决了许多问题。
实施起来也容易得多。
答案 1 :(得分:0)
我在javapns错误列表中找到了一个解决方案,另请参阅:javapns issue48,修复了http代理错误,并在发送通知消息时不会导致100%cpu。