0

我对黑莓应用程序开发很陌生,我需要创建一个可以接收推送通知的应用程序。

我已经创建了应用程序并尝试使用 xtify 将通知推送到设备。

我已经向 rim 注册了推送评估,并获得了 url、app id、密码等凭据。

当应用程序启动时,我创建一个新线程来执行推送注册过程。我尝试向推送评估 url 发送一个 http Get 请求以注册设备。当我尝试打开连接时,我得到 io 异常,无效的 url 参数。

我在设备中使用 wifi 连接进行网络连接。我的设备中没有 SIM 卡。网址是

http://cpXXX.pushapi.eval.blackberry.com/mss/PD_subReg?serviceid='My Application Id'&osversion='My OS Version'&model='Device Model';deviceside=false;ConnectionType=mds-public

下面是我用来发送请求的代码。

    DataBuffer buffer = new DataBuffer(256, false);
    httpUrl = "http://cpXXX.pushapi.eval.blackberry.com/mss/PD_subReg?serviceid='My Application Id'&osversion='My OS Version'&model='Device Model';deviceside=false;ConnectionType=mds-public"

    InputStream inputStream = null;
    Connection conn = null;
    HttpConnection httpConn = null;
    try {
        httpUrl ;
        conn = Connector.open(httpUrl);
        if (conn instanceof HttpConnection) {
            httpConn = (HttpConnection) conn;
            int responseCode = httpConn.getResponseCode();
            if(responseCode == 200){
                inputStream = httpConn.openInputStream();
                int length = inputStream.read(buffer.getArray());
                buffer.setLength(length);
                String response = new String( buffer.getArray(), buffer.getArrayStart(), buffer.getArrayLength() );
                return response;
            }else { 
                throw new IOException( "Http error: " + responseCode);
            }
        }

        else {
            throw new IOException("Can not make HTTP connection for URL '"
                    + httpUrl + "'");
        }

    }
    finally {
        if (httpConn != null) {
            try {
                httpConn.close();
            } catch (IOException e) {
                System.out.println(e.getMessage());
                e.printStackTrace();
            }
        }
        close(conn, inputStream, null);
    }

请帮我。我正在等待答复。我已经坚持了好几天了。请指教。任何人都知道我在哪里可以获得设备注册 api 的文档?

4

1 回答 1

0

感谢@Black Pearl 的建议,我能够解决这个问题。为了使黑莓注册工作,您需要一个有效的 BIS 连接。我一直在尝试使用 wifi 连接,因此它无法正常工作。

于 2012-11-06T04:21:56.253 回答