`
lmx227
  • 浏览: 52036 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

代码开启关闭Gps

阅读更多

在Android 2.2以后才可使用

 

	/**
	 * Gets the state of GPS location.
	 * 
	 * @param context
	 * @return true if enabled.
	 */
	private static boolean getGpsState(Context context) {
		ContentResolver resolver = context.getContentResolver();
		boolean open = Settings.Secure.isLocationProviderEnabled(resolver,
				LocationManager.GPS_PROVIDER);
		System.out.println("getGpsState:" + open);
		return open;
	}

	/**
	 * Toggles the state of GPS.
	 * 
	 * @param context
	 */
	private void toggleGps(Context context) {
		ContentResolver resolver = context.getContentResolver();
		boolean enabled = getGpsState(context);
		Settings.Secure.setLocationProviderEnabled(resolver,
				LocationManager.GPS_PROVIDER, !enabled);
	}

  

 

需要添加权限

<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />

 

在 AndroidManifest.xml中添加系统权限: android:sharedUserId="android.uid.system" 
 例如:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      android:sharedUserId="android.uid.system"
      >

分享到:
评论
9 楼 一级苦工 2014-12-11  
chroime 写道
lmx227 写道
chroime 写道
目前我发现的方式 只能跳转到GPS设置界面让用户手动开启, 直接在后台开启是需要系统签名的, 正如3楼

3楼不就是你自己么?


是的, 如上面我所说

哈哈,说的很对啊
8 楼 chroime 2014-08-04  
lmx227 写道
chroime 写道
目前我发现的方式 只能跳转到GPS设置界面让用户手动开启, 直接在后台开启是需要系统签名的, 正如3楼

3楼不就是你自己么?


是的, 如上面我所说
7 楼 lmx227 2014-06-04  
chroime 写道
目前我发现的方式 只能跳转到GPS设置界面让用户手动开启, 直接在后台开启是需要系统签名的, 正如3楼

3楼不就是你自己么?
6 楼 chroime 2014-03-24  
目前我发现的方式 只能跳转到GPS设置界面让用户手动开启, 直接在后台开启是需要系统签名的, 正如3楼
5 楼 flycatdeng 2014-01-06  
楼主你有真正实践过么?你的两段代码只是Android系统原生代码中的一部分!正如前面鸡楼所说的,问题根本就没有解决
4 楼 aninna 2013-10-09  
Permission is only granted to system apps
Permission is only granted to system apps
Permission is only granted to system apps
不通过啊
3 楼 chroime 2012-12-29  
加入android.uid.system之后需要签名
2 楼 虚轻轻的飘过 2011-10-19  
为什么我加了
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
两个权限,都是提示
10-19 04:44:51.613: ERROR/AndroidRuntime(445): Caused by: java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS
请问怎么回事?
最后加的那个结果提示Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE错误。
那个是干什么的到底?
1 楼 lifeijiyuan 2011-07-21  
问题解决,谢谢

相关推荐

    【Android】代码开启/关闭GPS

    【Android】代码开启/关闭GPSDemo 相关文章:http://blog.csdn.net/etzmico/article/details/7200470 为了方便看效果,您可以在在onCreate中添加finish();方法,然后打开系统GPS设置页面再运行代码,这样就能看到...

    android GPS架构之GPS的开启与关闭

    Android GPS 架构中的 GPS 开启与关闭需要了解普通应用程序启动 GPS 设备的代码实现、Settings.Secure.setLocationProviderEnabled 的调用过程、数据库写入过程、Android 启动过程等相关知识点。只有掌握这些知识点...

    GPS定位代码IOS

    这个对象负责管理定位服务的开启、关闭以及获取位置更新。下面是一个简单的GPS定位代码示例: ```swift import CoreLocation class GPSTest { let locationManager = CLLocationManager() func ...

    Android GPS源代码

    TextView "show_status"和"temp_text"可能用于显示位置信息或状态更新,而Button "设置:位置与安全"可能是用于开启或关闭GPS服务的触发器。 在TestMyGPS.java文件中,虽然没有提供完整的代码,但我们可以推断出这...

    android 测试GPS搜星程序及源代码

    5. **启动/关闭GPS**:用户可以通过应用启动或关闭GPS服务。 6. **GPS状态检查**:检测GPS是否已开启并可用。 为了测试和优化GPS性能,开发者可以: 1. **模拟测试**:使用Android Studio的AVD Manager创建模拟器,...

    一个简单的android GPS DEMO代码

    本DEMO代码旨在展示如何在Android应用中实现基本的GPS功能,让开发者能够理解和学习如何获取用户的位置坐标。下面我们将深入探讨这个DEMO涉及的关键知识点。 1. **权限声明**:在AndroidManifest.xml文件中,你需要...

    Android GPS定位 代码+APK

    要检测GPS是否开启,我们可以调用`LocationManager`的`isProviderEnabled()`方法,传入`LocationManager.GPS_PROVIDER`作为参数。如果返回值为`true`,则表示GPS已开启;反之,则表示关闭。 在获取GPS定位时,我们...

    关闭GPS

    标题“关闭GPS”可能指的是在移动设备或操作系统中禁用全球定位系统(GPS)服务的过程。这通常是出于隐私保护、节省电池或者不需位置服务的原因。在这个话题中,我们将深入探讨GPS技术,如何在不同平台上关闭GPS,...

    gps跟踪器源代码

    6. **UI设计**:用户界面元素,如按钮用于开启/关闭GPS,显示当前位置,或者开始/结束轨迹记录。 在开发这样的应用时,开发者还需要考虑电池效率和用户体验,例如通过设置合适的定位间隔和精度来平衡定位准确性和...

    Android GPS获得定位数据源代码

    本文将详细介绍如何通过源代码在Android设备上获取GPS定位信息,并将其存储到SQLite本地数据库中。 首先,Android系统提供了LocationManager服务来获取GPS定位数据。在AndroidManifest.xml文件中,我们需要添加访问...

    代码打开gprs、获取gps坐标

    因此,描述中提到的是通过跳转到系统设置页面让用户手动开启GPS,而非通过代码直接操作。在用户开启GPS后,应用可以通过GPS服务来获取经纬度坐标。在Android系统中,我们可以使用`LocationManager`和`...

    GPS定位的代码

    在Android设备上,GPS服务通常默认开启,但为了确保能获取到GPS数据,我们需要在代码中检查并请求用户开启GPS。这可以通过调用`SettingsCompat.requestLocationUpdates()`方法,并传递`LocationManager.GPS_...

    WindowsMobile5下的GPS跟踪定位(及短信发送)源代码

    2. GPS状态监听:通过订阅`GPSStatusChanged`事件,当GPS状态变化时(如开启、关闭、定位成功或失败),执行相应的处理逻辑。 3. 定位数据获取:使用`Position`属性定期或按需获取当前设备的位置信息,并可能存储...

    Android Gps Test源码

    源码中会包含实现`onLocationChanged()`, `onProviderDisabled()`, `onProviderEnabled()`, 和 `onStatusChanged()`等方法的类,这些方法在位置改变、GPS关闭、打开或状态变化时被调用。 4. **显示位置信息**:源码...

    GPSTEST android gpstest source code

    - GPS接收器:这部分代码负责与Android系统进行交互,启动和关闭GPS服务,以及注册监听器来获取GPS数据。 - 卫星追踪:这部分处理卫星的搜索和跟踪,包括解析NMEA报文,提取卫星信息,并计算定位参数。 - 用户...

    Android 监听手机GPS打开状态实现代码

    Android监听手机GPS打开状态实现代码是指在Android应用程序中,通过编程的方式检测用户的手机是否已经打开了GPS功能,以便对应用程序的行为进行相应的调整。在Android系统中,GPS状态的改变会通过广播机制通知其他...

    Android代码-GpsTest源码.zip

    如果GPS未开启,应用可能引导用户去设置界面打开GPS。 9. **GPS卫星信息**:源码中可能包含获取和展示GPS卫星状态的代码,如可视卫星的数量和信号强度。这可以通过`Location.getExtras().getBoolean(GPS_SATELLITES...

    GPS串口通信C++源代码

    在GPS串口通信中,我们需要创建类来封装串口操作,如打开、关闭、读取和写入数据等方法。这些方法通常需要处理错误,例如检查文件描述符是否有效,确保数据传输的正确性。 VC工程指的是使用Microsoft Visual C++...

    Qt界面的GPS软件源代码

    5. 用户交互:设置按钮和菜单,允许用户开启/关闭GPS,保存/加载轨迹等。 学习和理解这个源代码可以帮助你深入掌握Qt的GUI编程和GPS应用开发。你可以研究如何与硬件交互获取GPS数据,如何优化地图显示性能,以及...

    android gps 代码 分析

    应用程序层通过`LocationManager`接口与服务层进行交互,请求GPS位置信息或者控制GPS的开启和关闭。服务层则负责处理这些请求,与硬件层的GPS驱动进行通信。 在应用程序层,开发者通常会创建一个`LocationListener`...

Global site tag (gtag.js) - Google Analytics