1.註冊
private MagnificationObserver magnificationObserver;
magnificationObserver = new MagnificationObserver(mHandler); getActivity().getContentResolver().registerContentObserver(Settings.Global.getUriFor(Settings.Global.WFC_IMS_ENABLED), false,magnificationObserver,
UserHandle.USER_ALL);
2.監聽
private class MagnificationObserver extends ContentObserver {
MagnificationObserver(Handler mHandler){
super(mHandler);
}
@Override
public void onChange(boolean selfChange, Uri uri) {
try {
int callState = Settings.Global.getInt(getActivity().getContentResolver(),Settings.Global.WFC_IMS_ENABLED, 0);
mHandler.obtainMessage(callState).sendToTarget();
//1 是打開 0 是關閉
android.util.Log.e("myy","callState==== "+callState);
Settings.System.putInt(getActivity().getContentResolver(),"vowifiIsChecked",callState);
} catch (Exception e) {
e.printStackTrace();
}
}
}
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
//實現自己想要實現的功能
int isShow = Settings.System.getInt(getActivity().getContentResolver(),"isShow",1);
boolean isVdfGr = getActivity().getResources().getBoolean(com.mediatek.internal.R.bool.sagereal_vowifi_dialog_gr);
android.util.Log.e("myy","msg ===== "+msg + "isShow === "+isShow + "isVdfG === "+isVdfGr);
if ((msg.what == 1) && (isShow ==1) && isVdfGr){
showDialog();
}
}
};