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 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...