如何在ICS中以编程方式打开和关闭(启用和禁用)位置服务?

时间:2012-02-09 15:28:47

标签: android android-4.0-ice-cream-sandwich

我想知道是否可以在Android 4.0中以编程方式启用和禁用位置服务?

我已经找到了几种方法,以便在以前的Android版本中执行此操作(例如,this是最受欢迎的链接)。但这些方法不适用于Android ICS。

另外,我知道应用程序不应该这样做,但是,例如,默认小部件就是这样做的。

任何人都可以澄清是否可能以及如何实现这一目标?

3 个答案:

答案 0 :(得分:2)

在我开发的一个小应用程序中,我通过禁用MyLocationOverlay上的位置来关闭gps。当然,这只有在您使用Google的地图时才有效,因为该类属于Google API。

myLocationOverlay.disableMyLocation();

我将该行放在onStop()方法上,并且只有在当前启用时才行。每次我的应用程序进入后台时,GPS都会自动关闭。

希望它有所帮助。

答案 1 :(得分:2)

您可以启用和禁用gps设备,但用户必须在设置小部件时确认。 this主题中的解决方案。

答案 2 :(得分:1)

LocationManager L = (LocationManager) getSystemService(LOCATION_SERVICE); 

if (!L.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
     Intent I = new Intent( 
                android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);  
        startActivity(I);  
}