ContentObserver的使用

本文详细介绍了在工作线程中如何操作全局变量,并通过实例展示了如何在HandlerThread中注册ContentObserver,以及如何在Handler中使用全局变量进行异步更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        final HandlerThread t = new HandlerThread("mstar-tv");
        t.start();      

final Handler h = mHandler = new Handler(t.getLooper());//工作线程 其中如果使用到了全局变量,要考虑一起操作,时序问题。
        m3DModeObserver = new ThreeDModeObserver(h);
        mContext.getContentResolver().registerContentObserver(URI_INPUT_SOURCE,
                true, m3DModeObserver);


 mHandler.postDelayed(new Runnable() {;//工作线程 其中如果使用到了全局变量,要考虑一起操作,时序问题。
            public void run() {
                mRect = r;
                mTempSourceInput = type;
                updateSourceInput(type.ordinal());
                mIsSourceNeedSwitch = true;
            }
        }, 0);



private class ThreeDModeObserver extends ContentObserver {

        public ThreeDModeObserver(Handler handler) {
            super(handler);
        }

        public void onChange(boolean selfChange) {

        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值