我正在处理一个j2me应用程序,它发出一个http请求,并根据收到的响应工作。
下面是我的http请求代码

public String sendHttpGet(String url, String str) throws Exception {
    HttpConnection hcon = null;
    DataInputStream dis = null;
    StringBuffer message = new StringBuffer();
    try {

        hcon = (HttpConnection) Connector.open(url);
        dis = new DataInputStream(hcon.openInputStream());
        int ch;
        while ((ch = dis.read()) != -1) {
            message.append((char)ch);
        }
    }catch(Exception e){

    }finally {
        if (hcon != null) {
            hcon.close();
        }

        if (dis != null) {
            dis.close();
        }
        MyForm.show();
    }
    return message.toString();
}

它在非触摸设备上运行良好,但当我在诺基亚500触摸手机上检查时,
代码执行到第行
hcon = (HttpConnection) Connector.open(url);

在没有抛出任何异常的情况下,它最终会显示应用程序的第一个屏幕(主菜单)。
有什么限制或问题吗?
有什么解决办法吗?

最佳答案

你在jad中添加了这样的权限吗

MIDlet-Permissions: javax.microedition.io.Connector.http

或者可以通过以下步骤在netbean中添加此权限
右键单击项目
单击属性。
点击应用说明
选择选项卡API权限
单击“添加”按钮并从列表中添加javax.microedition.io.Connecter.http
希望这对你有帮助。

09-27 02:29