locationmanager.requestForLocation在motorola backflip&三星Galaxy

时间:2011-06-27 17:29:19

标签: android gps

我是Android的新手,我正在尝试在我的应用程序中检索GPS数据。    我正在使用以下代码 LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

if (!lm.isProviderEnabled(LocationManager.GPS_PROVIDER)){
  lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000L, 500.0f, this);
}

我的班级我已经覆盖了以下方法

public void onLocationChanged(Location location)
{
  String currentLocation = "The location is changed to Lat: " + location.getLatitude()+ " Lng: " + location.getLongitude();
  Toast.makeText(context, currentLocation, Toast.LENGTH_LONG);
}

但它没有显示任何东西,这只发生在motorola 后空翻&三星galaxy设备。    如果我做错了,请告诉我。提前谢谢。

Thansk, Devanand

2 个答案:

答案 0 :(得分:3)

您忘了使用Toast.makeText(...) .show();

答案 1 :(得分:0)

您确定此代码显示其他手机的内容吗?正如Neeraj回答的那样,你必须在Toast中添加.show()。

如果这不是问题&你刚才错过了,那么你可能遇到了我面临的问题。与您的代码相似的代码在 Motorola Atrix 上完美运行,但在 Motorola Droid 上则没有。

这是我的解决方法。如果GPS不可用,我将退回网络提供商。像这样:

//Start with fine location using GPS
String locationProviderInit = LocationManager.GPS_PROVIDER;
if ((locationProviderInit == null) ||   
      !(mLocationManager.isProviderEnabled(locationProviderInit)))
{
//If GPS not available, fall back on coarse location
    locationProviderInit = LocationManager.NETWORK_PROVIDER;
}

希望这有帮助!