前提
需要有系统权限
第一步设置值
Settings.System.putInt(getActivity().getContentResolver(),"MISS_CALL",0);
其中settings为android.provider包下的类可进行数据操作(可以跨进程操作,因为本地数据共享的原因)
第二步注册
mContext.getContentResolver().registerContentObserver(Settings.System.getUriFor("MISS_CALL"), true, mObserver);
第三步实时监听
private ContentObserver mObserver = new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange) {
int flag = Settings.System.getInt(mContext.getContentResolver(),"MISS_CALL",-1);
LogTool.d(TAG, "onChange %d ",flag);
if(selfChange ==false){
//实现变化之后的事件
}
}
};
第四步测试
Settings.System.putInt(getActivity().getContentResolver(),"MISS_CALL",1);