文档章节

Android中如何监听GPS开启和关闭

c
 chenming
发布于 2014/04/24 18:35
字数 200
阅读 5167
收藏 14
点赞 1
评论 0

有时需要监听GPS的开关(这种需求并不多见)。实现的思路是监听代表 GPS 开关的 URI 的数据是否有发生变化

GPS的开关是系统设置,android.provider.Settings.Secure 代表了app可以读取但不能修改的系统设置。可以从这个类中获取到代表GPS开关的URI。

关键代码如下

	getContentResolver()
			.registerContentObserver(
					Settings.Secure
							.getUriFor(Settings.System.LOCATION_PROVIDERS_ALLOWED),
					false, mGpsMonitor);

完整的代码如下:

public class MyActivity extends Activity {

	private final ContentObserver mGpsMonitor = new ContentObserver(null) {
		@Override
		public void onChange(boolean selfChange) {
			super.onChange(selfChange);

			boolean enabled = mLocationManager
					.isProviderEnabled(LocationManager.GPS_PROVIDER);
			System.out.println("gps enabled? " + enabled);
		}
	};

	private LocationManager mLocationManager;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		mLocationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
	}

	protected void onStart() {
		getContentResolver()
				.registerContentObserver(
						Settings.Secure
								.getUriFor(Settings.System.LOCATION_PROVIDERS_ALLOWED),
						false, mGpsMonitor);
	};

	@Override
	protected void onStop() {
		super.onStop();
		getContentResolver().unregisterContentObserver(mGpsMonitor);
	}
}

© 著作权归作者所有

共有 人打赏支持
c
粉丝 2
博文 25
码字总数 24719
作品 0
南宁
Android之GPS定位详解

一、LocationManager LocationMangager,位置管理器。要想操作定位相关设备,必须先定义个LocationManager。我们可以通过如下代码创建LocationManger对象。 LocationManger locationManager...

程序袁_绪龙 ⋅ 2014/09/28 ⋅ 0

virjar/xposedhooktool

hook base工具 Android 破解的hook工具,集成一些帮助破解的常用功能,如自动网络抓包、网络堆栈爆破、文件日志、webview调试环境 入口在 com.virjar.xposedhooktool.hotload.XposedInit,但是...

virjar ⋅ 04/22 ⋅ 0

运行java程从 串口读取 GPS定位数据,然后做把这台做成一个服务器。

(1)如何在Eclipse中编写程序 读取 串口上的 GPS 定位数据。 (2)读到数据之后,把这台电脑做成一个服务器,可以向外传送 Json格式或tcp格式的数据; 当使用手机连接上这台电脑的WIFI时, ...

lhzsu ⋅ 05/15 ⋅ 0

Android实现蓝牙耳机连接

前言 最近看了下蓝牙耳机连接的问题,查阅了相关资料,再此做一个总结。 本文参考以下链接: Android实现主动连接蓝牙耳机 再次对作者表示感谢。 今天涉及的内容有: 流程讲解 新建广播Bluet...

奔跑的佩恩 ⋅ 05/19 ⋅ 0

Android开发权威指南(第2版)新书发布

《Android开发权威指南(第二版)》是畅销书《Android开发权威指南》的升级版,内容更新超过80%,是一本全面介绍Android应用开发的专著,拥有45章精彩内容供读者学习。  《Android开发权威指...

androidguy ⋅ 2013/09/05 ⋅ 0

Android HookActivity一行代码实现开屏广告

需求背景 多个产品线都需要实现开屏广告,我们产品广告都是接的我们自家广告SDK,而只是几行代码请求我们广告,广告SDK会把View封装好返回来,要做的事情只是获取响应结果,并且出来. 如何实...

xwdz ⋅ 05/09 ⋅ 0

Android app 在线更新那点事儿(适配Android6.0、7.0、8.0)

一、前言 app在线更新是一个比较常见需求,新版本发布时,用户进入我们的app,就会弹出更新提示框,第一时间更新新版本app。在线更新分为以下几个步骤: 在线更新就上面几个步骤,前2步比较简...

codeGoogle ⋅ 04/28 ⋅ 0

Android 位置服务与GPS实时定位

一、概述 据专家说:人类活动80%的信息与空间位置信息有关,这还真不是专家吹牛。举个例子:你跟女神约饭,你得知道女神在哪里吧?你们选择约在哪里的餐厅最合适?你们过去分别有多远?你们怎...

huist ⋅ 2015/12/16 ⋅ 0

官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?

Kotlin KTX 2月5号的时候,Google 发布了一款 Kotlin 的扩展库,叫 Android KTX,不过现在还处于预览版的状态。它能使 Android 上的 Kotlin 代码更简洁,从而提高开发者的效率和使用体验。 ...

承香墨影 ⋅ 02/07 ⋅ 0

监听android:drawableLeft和android:drawableRight点击事件

监听android:drawableLeft和android:drawableRight点击事件 Android官方没有提供对android:drawableLeft和android:drawableRight点击事件的监听,但有些情况下,如下面的搜索栏, 需要在用户...

zhangphil ⋅ 04/17 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

如何优雅的编程——C语言界面的一点小建议

我们鼓励在编程时应有清晰的哲学思维,而不是给予硬性规则。我并不希望你们能认可所有的东西,因为它们只是观点,观点会随着时间的变化而变化。可是,如果不是直到现在把它们写在纸上,长久以...

柳猫 ⋅ 37分钟前 ⋅ 0

从零手写 IOC容器

概述 IOC (Inversion of Control) 控制反转。熟悉Spring的应该都知道。那么具体是怎么实现的呢?下面我们通过一个例子说明。 1. Component注解定义 package cn.com.qunar.annotation;impo...

轨迹_ ⋅ 37分钟前 ⋅ 0

系统健康检查利器-Spring Boot-Actuator

前言 实例由于出现故障、部署或自动缩放的情况,会进行持续启动、重新启动或停止操作。它可能导致它们暂时或永久不可用。为避免问题,您的负载均衡器应该从路由中跳过不健康的实例,因为它们...

harries ⋅ 38分钟前 ⋅ 0

手把手教你搭建vue-cli脚手架-详细步骤图文解析[vue入门]

写在前面: 使用 vue-cli 可以快速创建 vue 项目,vue-cli很好用,但是在最初搭建环境安装vue-cli及相关内容的时候,对一些人来说是很头疼的一件事情,本人在搭建vue-cli的项目环境的时候也是...

韦姣敏 ⋅ 49分钟前 ⋅ 0

12c rman中输入sql命令

12c之前版本,要在rman中执行sql语句,必须使用sql "alter system switch logfile"; 而在12c版本中,可以支持大量的sql语句了: 比如: C:\Users\zhengquan>rman target / 恢复管理器: Release 1...

tututu_jiang ⋅ 今天 ⋅ 0

Nginx的https配置记录以及http强制跳转到https的方法梳理

Nginx的https配置记录以及http强制跳转到https的方法梳理 一、Nginx安装(略) 安装的时候需要注意加上 --with-httpsslmodule,因为httpsslmodule不属于Nginx的基本模块。 Nginx安装方法: ...

Yomut ⋅ 今天 ⋅ 0

SpringCloud Feign 传递复杂参数对象需要注意的地方

1.传递复杂参数对象需要用Post,另外需要注意,Feign不支持使用GetMapping 和PostMapping @RequestMapping(value="user/save",method=RequestMethod.POST) 2.在传递的过程中,复杂对象使用...

@林文龙 ⋅ 今天 ⋅ 0

如何显示 word 左侧目录大纲

打开word说明文档,如下图,我们发现左侧根本就没有目录,给我们带来很大的阅读障碍 2 在word文档的头部菜单栏中,切换到”视图“选项卡 3 然后勾选“导航窗格”选项 4 我们会惊奇的发现左侧...

二营长意大利炮 ⋅ 今天 ⋅ 0

智能合约编程语言Solidity之线上开发工具

工具地址:https://ethereum.github.io/browser-solidity/ 实例实验: 1.创建hello.sol文件 2.调试输出结果

硅谷课堂 ⋅ 今天 ⋅ 0

ffmpeg 视频格式转换

转 Mp4 格式 #> ffmpeg -i input.avi -c:v libx264 output.mp4#> ffmpeg -i input.avi -c:v libx264 -strict -2 output.mp4#> ffmpeg -i input.avi -c:v libx264 -strict -2 -s 1......

Contac ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部