Android监听Gps设置变化方法一

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

设置里面的很多信息都是保存在数据库中的,当我们改变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);////取消注册
    }