0
的设置如下:在我的应用程序修改我使用位置服务的Android设备
LocationManager locM = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_HIGH);
criteria.setSpeedRequired(false);
String currentProvider = locM.getBestProvider(criteria, true);
Log.d("Location", "currentProvider: " + currentProvider);
Location currentLocation = locM.getLastKnownLocation(currentProvider);
if(currentLocation == null){
locM.requestLocationUpdates(currentProvider, 0, 0, locationListener);
}
和我的Manifest.xml加入网络的权限和位置。 当我今天早些时候在我的Android手机中测试此代码时,此行String currentProvider = locM.getBestProvider(criteria, true);
总是返回null。 Google搜索后,我发现这是由我的手机设置引起的。我应该打开设置 - >位置 - >使用无线网络。
我很好奇,为什么其他应用程序(例如谷歌地图)即使在关闭时也能正常工作。因为我以前从不修改位置设置,所有其他在我的手机中使用位置服务的应用程序都能正常工作。 有没有办法修改代码中的设置?