我是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
答案 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;
}
希望这有帮助!