2013-04-10 109 views
1

我使用下面的代码,因为我的推送通知实施的一部分:奇怪的黑莓手机登录

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。

回答

2

所有你看到的是一个额外的[0.0]在你的日志在几个地方。

这是正常的......你的URL很好。

调用

System.out.println(""); 

不给你独家,或原子,获得stdout。换句话说,当日志打印出您传递给println()的字符串时,您还可以将这些令牌打印到日志以及来自BlackBerry OS的其他消息,并且它们可能会/正好放在日志的中间输出。

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

如果您需要其他选项,请查看BlackBerry EventLogger API,其中写入日志,您可以pull off the device,然后搜索您的消息,而不需要烦人的[0.0]