【发布时间】:2012-02-17 08:57:11
【问题描述】:
我应该获取用户的当前位置,为此我实现了以下代码:
lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
ll = new mylocationlistener();
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);
这是我的 LocationListener 类:
private class mylocationlistener implements LocationListener {
@Override
public void onLocationChanged(Location location) {
if (location != null) {
Log.d("LOCATION CHANGED", location.getLatitude() + "");
Log.d("LOCATION CHANGED", location.getLongitude() + "");
lat = location.getLatitude();
lng = location.getLongitude();
Toast.makeText(NearActivity.this, "lng=" + lng + " lat=" + lat,
Toast.LENGTH_SHORT);
showProgress();
}
}
上面的代码没有设置全局变量lat和lng。为什么 GPS 无法提供坐标?
提前谢谢你。
【问题讨论】:
-
你等了多久?你在大楼里吗?
-
您的 Logcat 是否显示更改的位置?我相信你可能只是没有 GPS 信号。
-
你确定 onLocationChanged() 真的被调用了吗? GPS 可能需要一段时间才能得到修复。
-
如果 onLocationChanged() 可能需要一段时间才能启动,如何确保只有在 GPS 返回坐标后才能执行特定任务...
-
另外 onLocationChanged 也没有被调用。我从logcat中看到,可能是什么原因?
标签: android