WebView で表示したページの画面キャプチャはどのタイミング、どのメソッドで取得すべきなのか?
API Level 12 から、WebView の setPictureListener メソッドは deprecated になっているし、
実際のところ、WebView.PictureListener の onNewPicture で、WebView の capturePicture() を実行するのは、複数の画像があったらその回数呼ばれるので
とんでもないことになる。
しかし、WebChromeClient の onPageFinished で実行するのも "on"+"PageFinished" だから
抵抗がある。
プログレスバーを表示しなくても、WebChromeClient の onProgressChanged で実行する方法はどうであろうか?
Picture mPicture;
:
:
mWebView.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress){
if (newProgress==100){
mPicture = view.capturePicture();
}
}
}
あまり大差がなかった。。。
自動ではなくてユーザに手動で取ってもらうしかないのか。。。