所以,我目前正在开发一个基于地图的应用程序,并根据网络或GPS提供商更新用户位置,但我更喜欢网络。像这样:
locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
mlocListener = new CustomLocationListener();
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, mlocListener);
我的CustomLocationListener类是这样的:
public class CustomLocationListener implements LocationListener {
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
System.out.println("Location Updated");
userCoordinate = new LatLng(location.getLatitude(), location.getLongitude());
// Move the camera instantly to kiel with a zoom of 15.
map.moveCamera(CameraUpdateFactory.newLatLngZoom(userCoordinate, 14));
// Zoom in, animating the camera.
map.animateCamera(CameraUpdateFactory.zoomTo(14), 2000, null);
}
public void onProviderDisabled(String provider) {
System.out.println("provider disabled");
Toast.makeText(getBaseContext(), "GPS mode disabled", Toast.LENGTH_SHORT).show();
}
public void onProviderEnabled(String provider) {
System.out.println("provider enabled");
Toast.makeText(getBaseContext(), "GPS mode enabled", Toast.LENGTH_SHORT).show();
}
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}
你知道我编译它并在我的设备上运行时效果很好。它可以快速将相机对准用户坐标当前位置。 不知怎的,有一天,当我在其他地方用wifi尝试我的设备它突然!不再有用了!
我尝试将我的项目还原为我的git上的初始提交(当代码更新用户位置时),但它仍然无效!
我尝试使用
创建一个新的简单项目locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, mlocListener);
但它仍然无法使用!为什么?为什么?为什么呢?
我在手机上从谷歌打开地图应用程序,这很正常! 我不认为我的手机坏了!我不知道男人!索尼XPERIA Miro
请为此提供解决方案...... 我很困惑!
答案 0 :(得分:0)
要测试您的手机是否坏了,请转到系统设置 - >位置服务并关闭除Google位置服务以外的所有内容。现在lauch Navigator应用程序,看看应用程序是否知道你在哪里。您可能需要四处走动,因为第一个修复可能是最后一个已知的位置。