奇怪的黑莓日志

我正在使用下面的代码,作为推送通知实现的一部分:

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 

我不明白为什么。 为什么URL中有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.0]

这很正常……你的url很好。

调用

 System.out.println(""); 

不会为您提供对stdout 独占primefaces访问权限。 换句话说,当日志打印出您传递给println()的String时,您还可以将这些令牌打印到日志中,以及来自BlackBerry OS的其他消息,它们可能/将被放置在中间位置你的日志输出。

这很烦人,但你的代码没有任何问题。

如果您想要其他选项,请查看BlackBerry EventLogger API ,该API会写入您可以从设备中 取出的日志,并搜索您的消息,而不会产生恼人的[0.0]