android – 在模拟WebView应用程序时获取Javascript控制台

我是 Android Dev的新手,我正在尝试创建一个基于WebView的应用程序.我得到了基础知识,我直接在手机上模拟应用程序,并想知道是否有办法获得像Chrome PC版本的 Javascript控制台.

我的设备运行的是Android 4.2.1 API Level 17.我无法在我的计算机上模拟应用程序,但它不起作用.

我已经看了this topic on Stackoverflow,但没有帮助我.

所以,我尝试过(来自Stackoverflow主题的示例):

>从我的设备到我的电脑的远程调试:我不能使我的设备运行Android 4.2.1并且至少需要Android 4.4.
> JavaScript控制台:我无法访问并且没有在我的WebView应用程序中实现浏览器栏(并且不想实现一个……)
>原文答案:我在window.onload函数上放了一些console.log(‘test’)和console.error(‘test’),看看我是否可以在logcat和ADB日志中找到它们但我找不到它们即使我把adb logcat用于搜索它们.

有人能帮我吗?我真的不知道如何获得一个控制台,真的需要它…

谢谢!

解决方法

您所指的答案适用于Android browser应用程序,而不适用于WebView组件.

为了从console.log()系列函数获取输出,您需要为WebView设置WebChromeClient并覆盖onConsoleMessage()(doc)方法,如下所示:

webView.setWebChromeClient(new WebChromeClient() {
    @Override
    public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
        android.util.Log.d("WebView",consoleMessage.message());
        return true;
    }
});

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...