3

我的应用程序已从 Android 移植到黑莓,并且运行良好...

唯一不工作的是在 android 上工作的 GPS 位置....

该应用程序向用户显示一条消息,我们正在尝试查找该位置,如果没有找到位置,我们会告诉用户我们无法检索位置。

这是代码

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);
          }

它不工作,我重新启动了应用程序,在窗口旁边做了所有这些东西..

没有任何作用..

非常感谢您的建议和帮助。

问候

4

1 回答 1

1

之前有一个错误LocationManager.NETWORK_PROVIDER返回null,该方法仍然可能返回locationManager.getBestProvider()。但是,这应该在较新的操作系统版本中得到修复。

如果您想立即修复代码,您需要做的就是设置:

provider = LocationManager.GPS_PROVIDER

与早期阶段一样,GPS_PROVIDER它是唯一在播放器中实施的提供程序。

于 2013-04-24T15:47:21.107 回答