清华大佬耗费三个月吐血整理的几百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);////取消注册 }