我在这里,和我之前的许多人一样,使用黑莓平台(在我的例子中是4.6.1)时遇到了httpconnection问题。
我需要执行一个网络服务的呼叫,从模拟器一切正常(使用mds和wifi),但当使用一个真正的电话(8250)只有wifi工作。
我的测试手机和意大利的很多手机一样,有一个bis数据计划,没有默认的apn配置。正如我所说,这是一个非常常见的配置,我的国家电话,所以我想解决这个问题,而不强迫用户指定任何连接参数。
我已尝试使用连接器的所有变体创建HttpConnection。创建方法:
(httpconnection)connector.open(uri);//未指定参数
(HttpConnection)连接器。打开(uri+“deviceSide=true”);
(HttpConnection)连接器。打开(uri+“deviceSide=false”);
(httpconnection)连接器。打开(uri+“interface=wifi”);
(httpconnection)connector.open(uri+“;deviceside=false;connectionuid=uid”);
第四种方法,即wifi,是唯一对我有效的方法。
1号和3号无法投诉丢失的APN配置。
第2个失败,因为我没有连接到BES基础设施。
第5个失败,因为用bbdocumentation中显示的代码检索的uid总是返回一个空值(可能是因为wap2没有配置?)
我没有测试wap1解决方案,因为普通用户可能不知道配置它所需的参数。
我刚刚发现“mds public”魔术串也可能会影响连接,但我仍然需要调查它的含义和对我的载体的影响。
所以,最后,真正的问题是:你认为我唯一的解决方案是请求访问b is-b服务,从而成为联盟伙伴计划成员吗?你知道,如果没有必要的话,我想先确定一下,然后再请老板付钱。
提前谢谢你,
亚历山德罗
最佳答案
我建议你用这个
http://www.versatilemonkey.com/blog/index.php/2009/06/24/networking-helper-class/
我们在我们的项目中使用这个,做了一些修改。
它测试每一个可用的交通工具,并采取第一个工作。
如果你愿意,你也可以实现你自己的。
它目前正在加拿大和美国的所有运营商生产。我希望它也能在欧盟发挥作用。