我正在使用这段代码来连接 Servlet。尝试访问互联网时的移动应用程序。
手机中出现以下消息。
“允许网络访问?是或否”。如果我在诺基亚 6300 中对该消息单击“否”,则会出现“应用程序错误”警告,并且会自动关闭该应用程序。
我尝试过其他诺基亚手机,例如 N70 和 N72。手机不会显示“应用程序错误”。
是手机问题还是编码问题?
有什么有效的方法使用http连接Servlet吗?
public static InputStream getDataInputStream(String url, String request)
{
HttpConnection httpConnectionObj = null;
OutputStream dataOutputStreamObj = null;
try {
httpConnectionObj = (HttpConnection) Connector.open(url, Connector.READ_WRITE);
httpConnectionObj.setRequestMethod(HttpConnection.POST);
dataOutputStreamObj = httpConnectionObj.openOutputStream();
dataOutputStreamObj.write(request.getBytes());
dataOutputStreamObj.close();
return httpConnectionObj.openInputStream();
} catch (javax.microedition.io.ConnectionNotFoundException cnfe) {
//Alert
} catch (Exception ex) {
//Alert
} finally {
try {
if (httpConnectionObj != null) {
httpConnectionObj.close();
httpConnectionObj = null;
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
return null;
}
没有什么好的办法提取java.lang.Throwable.printStackTrace()
在诺基亚 6300 上,因为它是 Series40 手机。
权限对话框的问题与您的代码无关。您必须了解 MIDP 安全模型才能解决此问题。
给定电话的固件中有多个由电话制造商编码的安全域。
在每个域中,可以有多个选项来限制对敏感 API 的访问。
当您安装 MIDlet 时,电话会根据谁信任您为其签名的证书来决定它属于哪个域。 (可以是未签名的、受信任的第三方、运营商、制造商......)
当您运行 MIDlet 时,每次它尝试使用受限 API 时,都会应用相应的选项。 (可以始终拒绝,每次询问用户,仅询问用户一次,始终允许)。
不同的受限 API 在同一域中可以有不同的选项。
因此,您的问题有几种可能的解释:
- 您为 6300 和 N70 签署了不同的 MIDlet。
- 6300 和 n70 上的安全域不同。
- 6300 和 N70 上限制 HTTP 连接的选项不同。
- 6300 和 N70 上的移动网络运营商不同。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)