java - 在截图之前等待 webview 加载 html

标签 java android webview screenshot

我正在尝试截取 Android 中的 WebView 的屏幕截图。但是屏幕截图触发得太快,结果我得到了一张空白的屏幕截图。我尝试实现一个 webviewclient 和 onPageFinished 以在拍摄之前监听 webview 加载,但它没有用。如何确保在截取屏幕截图之前加载 View ?

public void onSaveClicked(View reLayout){

    final WebView webview;
    setContentView(R.layout.webview);
    webview = (WebView) findViewById(R.id.webview);

    WriteJsJson();
    Activity context;

    context = _activity.get();
    Intent fire = new Intent(context, WebviewActivity.class);
    switch (_reportType) {
        case 1 :
            fire.putExtra("target", "daily"); // Parameter to tell the webview activity to open the right report.
        case 2 :
            fire.putExtra("target", "week");
        case 3 :
            fire.putExtra("target", "month");
    }
    startActivity(fire);

    webview.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageFinished(WebView view, String url) {
            grabScreen(); //method for taking screenshot and storing it...
        }
    });

最佳答案

可以添加setWebChromeClient查看webview的进程。

 webview.getSettings().setJavaScriptEnabled(true);
    webview.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, final int progress) {
            progressBar.setProgress(progress);
            if (progress == 100) {
                grabScreen();
            } 
        }
    });

关于java - 在截图之前等待 webview 加载 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44567731/

相关文章:

java - 在 Robotium 中进行单元测试时检查 WebView 的 URL

android - Cookie 未保存在 Xamarin(Android)的 Web View 中

android - Web View 无法正常工作

java - 为什么我的应用程序在启动时不断崩溃 - Android

java - 从 Gradle 运行 Ant 脚本

java - 用ProgressBar替换ProgressDialog,一半时间不显示

java:正则表达式

android - ListView 中的项目看起来不像我的项目布局

android - 如何实现语音和视频聊天

android.os.FileUriExposedException : file:///storage/emulated/0/test. txt 通过 Intent.getData() 暴露在应用程序之外