我的应用已从Android移植到黑莓,它运行正常...
唯一不起作用的是GPS位置,它适用于Android ....
应用程序向使用中显示我们正在尝试查找位置的消息,如果找不到位置,我们会告诉用户我们无法检索位置..
这是代码
private void gpsLocation()
{
//Get the location manager
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
//Provide Criteria
Criteria criteria = new Criteria();
provider = locationManager.getBestProvider(criteria, false);
Location location = locationManager.getLastKnownLocation(provider);
locationManager.requestLocationUpdates(provider, 400, 1, this);
if(location != null){
onLocationChanged(location);
} else{
Log.i(TAG, "no GPS location available - waiting for GPS fix");
Toast.makeText(getApplicationContext(), R.string.gpsWaitingToast, Toast.LENGTH_SHORT).show();
if (Debug.GPS_USE_MONTREAL) {
currentLatitude = Double.valueOf(Debug.GPS_LAT_MONTREAL); currentLongitude = Double.valueOf(Debug.GPS_LNG_MONTREAL); // montreal
}
waitForGpsFix(GPSFIX_DELAY);
}
它不工作,我重新启动了应用程序,在窗口旁边做了所有这些......
什么都行不通..
非常感谢您的建议和帮助。
此致
答案 0 :(得分:1)
以前有一个错误LocationManager.NETWORK_PROVIDER
返回null,locationManager.getBestProvider()
方法仍然可能返回该错误。但是,这应该在较新的OS版本中修复。
如果您想立即修复代码,您需要做的就是设置:
provider = LocationManager.GPS_PROVIDER
与早期阶段一样,GPS_PROVIDER
是播放器中实现的唯一提供商。