Android浏览器开发 WebView setBlockNetworkImage来龙去脉

本身含义阻止图片网络数据
webSettings.setBlockNetworkImage(true);
解除数据阻止
webSettings.setBlockNetworkImage(false);


实际上简单的一句话为什么会造成这么强大的功力
我们来看下具体的实现
WebSettingsClassic.java
    /**
     * @see android.webkit.WebSettings#setBlockNetworkImage(boolean)
     */
    @Override
    public synchronized void setBlockNetworkImage(boolean flag) {
        if (mBlockNetworkImage != flag) {
            mBlockNetworkImage = flag;
            postSync();
        }
    }
关键代码看上去只有
mBlockNetworkImage = flag;
但是不要忽略了
postSync();
这个就是通知c++层去读取mBlockNetworkImage数值
我们看下具体的postSync函数实现
    /* Post a SYNC message to handle syncing the native settings. */
    private synchronized void postSync() {
        // Only post if a sync is not pending
        if (!mSyncPending) {
            mSyncPending = mEventHandler.sendMessage(
                    Message.obtain(null, EventHandler.SYNC));
        }
    }


通知给
            // create a new handler
            mHandler = new Handler() {
                @Override
                public void handleMessage(Message msg) {
           
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值