修改Android设备的设置

时间:2013-04-11 07:22:34

标签: 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。经过一些谷歌搜索后,我发现这是由我的手机设置引起的。我应该打开设置 - > location->使用无线网络。

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

1 个答案:

答案 0 :(得分:0)

只是发现有很多第三方库比内置的位置类好得多。喜欢百度在中国。 Plz参考此页面:Wiki of baidu Location sdk