【发布时间】:2011-10-20 03:43:57
【问题描述】:
我正在尝试通过 GPS 获取我当前的位置,但似乎没有任何效果,我在这里关注了很多问题,但收效甚微...
这是我的代码:
private GeoPoint getActualPosition()
{
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
Location current = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
actualLat = (int)(current.getLatitude()*1E6);
actualLong = (int)(current.getLongitude()*1E6);
GeoPoint point = new GeoPoint(actualLat, actualLong);
return point;
}
现在,方法的“this”部分(在 requestLocationUpdates 上)引用了实现 LocationListener 接口的活动,其 onLocationChanged 方法是:
@Override
public void onLocationChanged(Location location) {
actualLat = (int)(location.getLatitude()*1E6);
actualLong = (int)(location.getLongitude()*1E6);
}
我的问题出在当前位置行,其中“当前”始终为空,我找不到原因。
我的清单具有所需的权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
所以我真的不知道我的代码有什么问题。
感谢您的宝贵时间!!
【问题讨论】:
-
欢迎来到stackoverflow。如果您发现特定答案有帮助,请点赞。如果您发现某个特定答案是正确的,请接受它。