利用ContentObserver获取系统时间制式12/24小时

Function 1

直接获取

 Settings.System.getInt(getContext().getContentResolver(), Settings.System.TIME_12_24, 0);

Function 2

利用数据库的回调

 // 注册监听
  getContext().getContentResolver().registerContentObserver(Settings.System.getUriFor(Settings.System.TIME_12_24), true, timeFormatObserver);
    
    private ContentObserver timeFormatObserver = new ContentObserver(new Handler()) {
        @Override
        public void onChange(boolean selfChange) {
//            super.onChange(selfChange);
            int timeFormat = Settings.System.getInt(getContext().getContentResolver(), Settings.System.TIME_12_24, 0);
            Log.d(TAG, "onChange: timeFormat:" + timeFormat);

            if ( 12 == timeFormat) {
                mTimeFormat = 12;
            } else if ( 24 == timeFormat) {
                mTimeFormat = 24;
            }
            setKernelTimeWithFormat(mNativeData, System.currentTimeMillis(), mTimeFormat);
        }
    };
发布了13 篇原创文章 · 获赞 13 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qq410942197/article/details/100764753
今日推荐