我要做的是在我的应用程序中显示一个简单的网页(没有javascript,cookie或任何脚本,也没有尝试检测任何事件,如鼠标点击等)。
我正在使用下面的代码,现在我得到的只是空屏幕..我知道应用程序正在访问互联网(数据传输箭头在右上角闪烁)但不确定为什么它不呈现。 / p>
我使用的代码是:
HttpConnectionFactory factory = new HttpConnectionFactory("www.google.ca",HttpConnectionFactory.TRANSPORT_WIFI | HttpConnectionFactory.TRANSPORT_WAP2 | HttpConnectionFactory.TRANSPORT_DIRECT_TCP);
while(true)
{
try
{
HttpConnection connection = factory.getNextConnection();
try
{
BrowserContent bc = RenderingSession.getNewInstance().getBrowserContent(connection,null,0);
Field f = bc.getDisplayableContent();
add(f);
}
catch(RenderingException e)
{
//Log the error or store it for displaying to
//the end user if no transports succeed
System.out.println("error with rendering page");
}
}
catch(NoMoreTransportsException e)
{
//There are no more transports to attempt
//Dialog.alert( "Unable to perform request" ); //Note you should never
//attempt network activity on the event thread
System.out.println("no more transport");
break;
}
}
需要注意的一些要点:
我正在使用www.versatilemonkey.com上的http-connection-factory类,因为他们已经实现了抽象的httpConnection类。如果有人也可以指出我如何实现我自己的那将是伟大的。
我使用'0'作为getBrowserContent函数的标志。我查看了rimn文档,找不到对它们的解释。
非常感谢任何帮助。
谢谢, ANKIT
答案 0 :(得分:1)
您是在模拟器还是真实设备中运行它。如果在真实设备上,您使用的是哪个运营商?我问的原因是,如果您使用的是GSM网络(例如美国的AT& T或T-Mobile),您很可能需要在设备设置中配置APN或在连接URL上指定。看一下您正在使用的HTTP连接库的代码,我没有看到任何内容将APN设置附加到URL - 因此,如果它未在设备设置中配置,则Direct TCP将无效。这留下了WAP2和Wi-Fi - 并非所有设备都具有Wi-Fi,根据我的经验,并非所有设备/运营商都支持WAP2。