我已经尝试过 GPS 和网络提供商,但它们为 getLastKnownLocation 提供了空位置。我也没有得到任何 onLocationChanged 。我正在我的公寓里尝试,那里的手机信号很强。我什至可以很好地浏览互联网并从市场上下载和安装应用程序。
我已经阅读了一些关于同一主题的主题,但他们的建议似乎我已经尝试过了。
这是我的代码片段。
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
if(null == locationManager) {
Log.d(TAG, "location manager NULL");
}
geocoder = new Geocoder(this);
// Initialize with the last known location
Location lastLocation = locationManager
.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
if (lastLocation != null)
onLocationChanged(lastLocation);
else
Log.i(TAG, "null LastKnownLocation");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
super.onStartCommand(intent, flags, startId);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,
0,0, this);
Log.d(TAG, "requested location updates");
return START_STICKY;
}
根据日志:
mitenm@pinkydebian:/media/sf_E_DRIVE/tmp$ adb logcat LocationNotifierService:* *:S
--------- beginning of /dev/log/system
--------- beginning of /dev/log/main
I/LocationNotifierService(30866): null LastKnownLocation
D/LocationNotifierService(30866): gps provider enabled:true
D/LocationNotifierService(30866): network provider enabled:true
D/LocationNotifierService(30866): onCreate
D/LocationNotifierService(30866): requested location updates
D/LocationNotifierService(30866): requested location updates
D/LocationNotifierService(30866): requested location updates
我有“解锁接收器”,所以当我解锁我的屏幕时,我请求位置更新,这在日志中按预期工作。但是 onLocationChanged 方法没有被调用。
我已经添加了显示精细和粗糙的权限。
问候,
米腾。