2013-04-10 149 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]