代码改进:
?
?
?
public static boolean logic(String deviceToken, String message) throws Exception { boolean result = false; if (deviceToken == null || "".equals(deviceToken)) { logger.info("IPhone终端令牌号为空值,PUSH失败!"); System.out.println("IPhone终端令牌号为空值,PUSH失败!"); return false; } PushNotificationManager pushManager = null; try { PayLoad payLoad = new PayLoad(); PayLoadCustomAlert alert = new PayLoadCustomAlert(); List<String> list = new ArrayList<String>(); list.add("Jenna"); list.add("Frank");// alert.addLocKey("%@ and %@ have invited you to play Monopoly"); alert.addLocKey("%2$@ and %1$@ have invited you to play Monopoly"); alert.addLocArgs(list); alert.addActionLocKey("PLAY"); payLoad.addCustomAlert(alert); payLoad.addBadge(1);// IPhone上显示的信息条数,默认为1 payLoad.addSound("default");// 铃音 pushManager = PushNotificationManager.getInstance(); pushManager.addDevice("iPhone", "****"); String certificatePassword = "****"; String host = "gateway.sandbox.push.apple.com"; String port = "2195"; String certificationPath = "c:/push_p.p12"; pushManager.initializeConnection(host, Integer.parseInt(port), certificationPath, certificatePassword, SSLConnectionHelper.KEYSTORE_TYPE_PKCS12); // 发送PUSH消息 Device client = pushManager.getDevice("iPhone"); pushManager.sendNotification(client, payLoad); result = true; } catch (Exception e) { e.printStackTrace(); } finally { if (pushManager != null) { pushManager.stopConnection(); pushManager.removeDevice("iPhone"); } } return result; }
?