我使用下面的代码作为我的推送通知实现的一部分:
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
我不明白为什么。为什么网址中有空格“”
以及为什么有“[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]
。
这是正常的...您的网址没问题。
调用
System.out.println("");
不给您对stdout
的独占或原子访问权限。换句话说,当日志打印出您传递给 println()
的字符串时,您还可以将这些标记打印到日志中,以及来自 BlackBerry OS 的其他消息,并且它们可能/将会放置在日志输出的中间。
这很烦人,但你的代码没有任何问题。
如果您想要其他选择,请查看 BlackBerry EventLogger API ,它写入日志,您可以 pull off the device ,然后搜索您的消息,无需使用烦人的 [0.0]
。
关于java - 奇怪的黑莓日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15922312/