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

我不明白为什么。为什么spaces " "在 URL 中有,为什么有"[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。

4

1 回答 1

2

您所看到的只是[0.0]日志中几个地方的额外内容。

这很正常……您的网址很好。

打电话

System.out.println("");

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

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

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

于 2013-04-10T21:05:51.897 回答