本身含义阻止图片网络数据
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) {
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) {