查看了Settings源代码,发现其开启关闭GPS的代码如下:
/**
* 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);
}
以上代码在Eclisp有错误,在Linux下编译,可以通过,安装APK后运行,有需要如下权限的提示:
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
即使在AndroidManifest.xml中声明了权限,也还是有这个错误提示。
解决方法:
在 AndroidManifest.xml中添加系统权限: android:sharedUserId="android.uid.system"
例如:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:sharedUserId="android.uid.system"
>
在Linux下编译,就可以了
本文转自http://www.eoeandroid.com/forum-viewthread-tid-52190-highlight-gps.html
分享到:
相关推荐
源码中会包含实现`onLocationChanged()`, `onProviderDisabled()`, `onProviderEnabled()`, 和 `onStatusChanged()`等方法的类,这些方法在位置改变、GPS关闭、打开或状态变化时被调用。 4. **显示位置信息**:源码...
9. **GPS卫星信息**:源码中可能包含获取和展示GPS卫星状态的代码,如可视卫星的数量和信号强度。这可以通过`Location.getExtras().getBoolean(GPS_SATELLITES_OK_KEY)`等方法实现。 10. **优化电池使用**:考虑到...
该文档提供了一份GPS测试软件的源代码,这份软件是由作者吕子奇独立开发完成,并希望通过分享获得一定的反馈与建议。源码主要采用VB语言编写,旨在实现对GPS信号的接收、处理及显示功能。 #### 二、软件功能模块...
1. **串口通信**:由于大多数GPS设备通过串行接口与计算机通信,因此我们需要使用Windows API函数或第三方库来实现串口打开、读取和关闭。例如,可以使用`CreateFile`、`WriteFile`和`ReadFile`函数,或者使用像`...
在描述中提到“打开串口和波特率需要自己修改”,这指的是需要根据实际的硬件配置来调整代码中的相关参数。 3. **串口通信** 在GPS硬件中,串口通信是一种常见的数据传输方式。HAL层的代码需要配置串口参数,如...
标题“关闭GPS”可能指的是在移动设备或操作系统中禁用全球定位系统(GPS)服务的过程。这通常是出于隐私保护、节省电池或者不需位置服务的原因。在这个话题中,我们将深入探讨GPS技术,如何在不同平台上关闭GPS,...
7. **错误处理**:DLL中应该包含适当的错误检测和处理机制,例如检查串口是否打开成功,读取数据时是否发生超时,以及解析NMEA数据时是否遇到语法错误。 8. **源代码管理**:提供源代码意味着开发人员需要遵循良好...
在描述中提到,该代码库已经进行了封装,意味着开发者可以简单地调用预定义的API来执行串口操作,如打开、关闭、读取和写入数据。这大大简化了串口通信的复杂性,无需关心底层实现细节。同时,代码库还包含了自动...
9. **测试和调试**:开发过程中,可能需要使用模拟GPS数据来测试应用,如使用GPS模拟器软件,确保在没有实际GPS设备的情况下也能进行开发和调试。 10. **用户界面设计**:最后,为了提供良好的用户体验,开发者需要...
可能使用了C++的`fstream`类来打开、读取和关闭文件。 7. 多线程和实时性:如果项目需要实时处理GPS数据,可能会涉及到多线程编程,以确保数据读取和计算过程不会阻塞用户界面的更新。 8. 测试和调试:任何软件...
`rs232.c`包含了处理串口通信的底层功能,如打开、关闭串口,读写数据等。`ttytest.c`可能是一个测试程序,用于检查串口是否正常工作。 4. **C语言编程**: C语言是一种强大的系统级编程语言,适用于嵌入式开发。...
标题中的"Open_GPS.zip_...具体的"Open GPS方案"可能包含解决特定问题的步骤或代码示例,但由于没有提供具体的压缩包文件内容,这部分无法详细展开。如果需要进一步的信息,建议解压"Open_GPS"文件并查看其中的内容。
在IT行业中,GPS(全球定位系统)驱动程序是操作系统与硬件设备之间的重要接口,使得操作系统能够识别并控制GPS接收器。VxWorks是一款实时操作系统(RTOS),广泛应用于嵌入式系统,尤其在航天、航空、通信和工业...
在串口测试代码中,如果涉及到Gprs,可能是在模拟或连接到Gprs模块进行数据交换,例如通过串口控制模块接入互联网。 在编写串口测试代码时,可以使用各种编程语言,如C、C++、Python、Java等。Python的pySerial库和...
例如,使用Win32 API中的CreateFile、ReadFile和CloseHandle函数可以打开、读取和关闭串口;而.NET Compact Framework中的System.IO.Ports命名空间则提供了SerialPort类,简化了串口操作。 GPS接收程序在Windows CE...
【GPS串口通讯】是计算机科学中的一个关键领域,特别是在嵌入式系统和物联网(IoT)应用中。本文将详细探讨如何使用Linux-C语言进行GPS串口通信,并结合具体的测试环境——6410板子和Gstar GS-87 GPS模块,深入解析这...
在Android系统中,GPS(全球定位系统)定位是开发者常用的一种获取用户位置信息的方法。本文将深入探讨如何利用Android系统原生的Location API进行GPS定位,并详细介绍相关知识点。 首先,我们要了解Android中的...
3. **硬件优化**:减少屏幕亮度,关闭蓝牙、GPS等不常用功能,可有效节省电量。 4. **更新系统和应用**:定期更新操作系统和应用,修复可能导致电池问题的bug。 六、电量测试工具 1. `BatteryDoctor`:一款流行的...
6. **调试与测试**:"运行过可用"表示代码已经经过了初步的验证,可以在VS2010环境中编译运行,并成功实现了串口通信功能。开发者可能使用虚拟串口软件(如Com0Com)或者实际硬件设备进行测试。 这个项目对初学者或...