监听Gps设置变化方法一

设置里面的很多信息都是保存在数据库中的,当我们改变gps等设置时,会改变数据库里面的值,

我们可以用内容观察者对其进行监听,然后做出相应处理,这里贴出关键代码

private final ContentObserver mGpsMonitor = new ContentObserver(null) {

@Override

public void onChange(boolean change) {

super.onChange(change);

boolean enabled = mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);

Message msg = handler.obtainMessage();

msg.what = 0x123;

msg.obj = enabled;

handler.sendMessage(msg);

}

};

protected void onStart() {

///注册观察者监听数据库状态改变

getContentResolver().registerContentObserver(

Settings.Secure.getUriFor(Settings.System.LOCATION_PROVIDERS_ALLOWED),

false, mGpsMonitor);

super.onStart();

};

@Override

protected void onStop() {

super.onStop();

getContentResolver().unregisterContentObserver(mGpsMonitor);////取消注册

}

时间: 2024-11-06 03:35:24

监听Gps设置变化方法一的相关文章

android 监听GPS是否打开跳转到设置GPS

监听GPS 权限: <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 主程序代码以及注释: <span style="white-space:pre"> </span>/** * 监听GPS */ private void initGPS() { LocationManager locationManager = (LocationM

IOS第五天(1:取消按钮的监听和设置代理textField字数限制)

***********取消按钮的监听和设置代理textField字数限制 UITextFieldDelegate #import "HMViewController.h" @interface HMViewController () <UITextFieldDelegate> @end @implementation HMViewController /** 1> UIButton -> UIControl -> UIView 1.1 设置控件的状态 启用

思科2960 监听端口设置

2960 监听端口:2监听1 一.Switch#config tSwitch(config)#monitor session 1 destination interface f0/2Switch(config)#monitor session 1 source interface f0/1 二.查看 exitenshow monitor 三 取消 Switch(config)#no monitor session 1 destination interface f0/2Switch(config

自己写的SeekBarPreference,可以实现seekbar滑动监听和设置默认进度和最大进度

我通过参考android源码,把这个烂尾的类写完了.具体实现了seekbar的数据自动存储,seekbar拖动时触发监听器,可以设置默认的进度和最大进度.先说使用的方式: 1.在xml文件中使用preference <com.kale.floatbar.preference.MySeekBarPreference android:key="alpha" android:layout="@layout/prefs_list_item" android:title

ListView滑动监听和设置点击事件

viewholder_item.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:orientation="vertical" 4 android:layout_width="match_pa

设置监听以及其中遇见的问题

首先大家看一个例子 protected void onCreate(Bundle savedInstanceState) { loginbutton=(Button)this.findViewById(R.id.button9); loginbutton.setOnClickListener(new View.OnClickListener() { super.onCreate(savedInstanceState); setContentView(R.layout.firstactivity)

Android事件监听(二)——点击鼠标事件

Button.ImageButton事件监听(setOnClickListener) 方法一:通过匿名内部类实现 代码如下: package com.note.demo2; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import

Android 通过反射及AIDL获取双卡手机SIM卡相关信息,及注册监听

在Android 5.0之前,虽然也有手机是双卡手机,但是双卡方案都是ODM厂商自己做的,或者是有芯片厂商提供的源码完成.因此,如果要在4.4甚至更早之前的手机上获取双卡信息,基本上不是一向巨大的工程.虽然之前尝试过使用反射方法去获取 高通的"android.telephony.MSimTelephonyManager"类 MTK的"com.mediatek.common.telephony.ITelephonyEx.aidl"类, 打印出函数的方法和参数以及类属性

Android 监听 Android中监听系统网络连接打开或者关闭的实现代码

本篇文章对Android中监听系统网络连接打开或者关闭的实现用实例进行了介绍.需要的朋友参考下 很简单,所以直接看代码 复制代码 代码如下: package xxx; import android.content.BroadcastReceiver;  import android.content.Context;  import android.content.Intent;  import android.net.ConnectivityManager;  import android.ne