我正在使用下面的代码,作为推送通知实现的一部分:
private static final String BPAS_URL = "http://pushapi.eval.blackberry.com";
private static final String APP_ID = "3582-M4687r9k9k836r980kO2395i32i66y11a34";
String registerUrl = formRegisterRequest(BPAS_URL, APP_ID, null) + ";deviceside=false;ConnectionType=mds-public";
System.out.println("\n\n\n !!msg registerBPAS URL is: "+ registerUrl + "\n\n");
其中:
private static String formRegisterRequest(String bpasUrl, String appId, String token) {
StringBuffer sb = new StringBuffer(bpasUrl);
sb.append("/mss/PD_subReg?");
sb.append("serviceid=").append(appId);
sb.append("&osversion=").append(DeviceInfo.getSoftwareVersion());
sb.append("&model=").append(DeviceInfo.getDeviceName());
if (token != null && token.length() > 0) {
sb.append("&").append(token);
}
return sb.toString();
}
我打印的是:
!!msg registerBPAS URL is: http://pushapi.eval.blackberry.com/mss/PD_subReg?serviceid=3582-M4687r9[0.0] k9k836r980kO2395i32i66y11a34&osversion=5.0.0.669&model=9520;deviceside=false;ConnectionType=mds-publ[0.0] ic
我无法理解为什么。为什么网址中有spaces " "
,为什么会有"[0.0]"
从上面的代码我无法解释这种行为。
我期望印刷的是:
!!msg registerBPAS URL is: http://pushapi.eval.blackberry.com/mss/PD_subReg?serviceid=3582-M4687r9k9k836r980kO2395i32i66y11a34&osversion=5.0.0.669&model=9520;deviceside=false;ConnectionType=mds-public
*如果这有任何帮助,我没有启用BIS,但我认为这不重要,因为我在本地形成了URL。
答案 0 :(得分:2)
您所看到的只是在几个地方的日志中额外[0.0]
。
这是正常的......您的网址很好。
致电
System.out.println("");
不会为您提供独占或原子对stdout
的访问权限。换句话说,当日志打印出您传递给println()
的字符串时,您还可以将这些令牌打印到日志中,以及来自BlackBerry OS的其他消息,它们可能/将被放置在日志输出的中间位置。
这很烦人,但你的代码没有任何问题。
如果您想要其他选项,请查看BlackBerry EventLogger API,它会写入您可以pull off the device的日志,并搜索您的消息,而不会出现恼人的[0.0]
。< / p>