我正在使用使用MapView的BlackBerry应用程序。 目前,我只展示了MapView,仅此而已。 这是我用于它的代码的片段:
public class MapScreen extends MainScreen { private MapField map; public MapScreen() { super(MainScreen.NO_VERTICAL_SCROLL); map = new MapField(); map.moveTo(new Coordinates(50.847573,4.713135, 0)); add(map); //... } //... }
我正在使用net.rim.device.api.lbs.MapField
,因为我必须与OS 5.0兼容
在模拟器上,一切都很好而且正常。 但是当我在设备上部署它时,我看到一个白色的屏幕......
该设备具有互联网连接,但仅限于Wi-Fi。首先,我认为那是问题,但根据"Blackberry services that are available over Wi-Fi connections",它应该不是问题。
那么,是否有人知道为什么它不能在设备上工作,以及我如何解决这个问题? 感谢
答案 0 :(得分:2)
您说“该设备具有互联网连接,但只能通过Wi-Fi连接”,这使我感到相信您没有配置BlackBerry数据计划的真实设备。您需要该计划才能访问任何BlackBerry服务,甚至通过Wi-Fi。
要检查适当的连接,您可以使用:
if (CoverageInfo.isCoverageSufficient(CoverageInfo.COVERAGE_BIS_B) {
// Connection will support BlackBerry services
} else if (CoverageInfo.isCoverageSufficient(CoverageInfo.COVERAGE_MDS) {
// Connection will support BlackBerry services if BES allows the connection to BIS servers.
}
答案 1 :(得分:1)
检查此问题的更好方法是检查LBSConfig或其变体的ServiceBook条目。
允许不再在计划中但曾由LBS配置的设备正常运行。
private static final boolean have_lbs() {
ServiceBook sb = ServiceBook.getSB();
ServiceRecord[] records = sb.getRecords();
int count = records.length;
for (int ii = 0; ii < count; ++ii) {
if (records[ii].getCid().toUpperCase().startsWith("LBS"))
return true;
}
return false;
}