2013-04-11 40 views
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搜索后,我发现这是由我的手机设置引起的。我应该打开设置 - >位置 - >使用无线网络。

我很好奇,为什么其他应用程序(例如谷歌地图)即使在关闭时也能正常工作。因为我以前从不修改位置设置,所有其他在我的手机中使用位置服务的应用程序都能正常工作。 有没有办法修改代码中的设置?

回答

相关问题