Android经验: proguard 阻碍 webview 正常工作

博客讲述了在Android开发中,由于Proguard配置不当,导致WebView无法正常工作,特别是JavaScript与Android的交互出现问题,出现了JavaScriptInterface方法被过滤的情况。作者通过逐步排查,从WebView的基本使用到问题定位,再到修复方案,详细记录了整个过程,最终发现是Proguard配置文件(proguard.cfg)缺失必要的保留规则导致的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

WebView 常识

使用 Alert  提供消息

我在页面经常用 Alert 提供消息,  但 Android 需要你编写 MyWebChromeClient

mWebView.setWebChromeClient(new MyWebChromeClient());  


final class MyWebChromeClient extends WebChromeClient {  
        @Override  
        public boolean onJsAlert(WebView view, String url, String message, JsResult result) {  
            Log.d(LOG_TAG, message);  
            result.confirm();  
            return true;  
        }  
    }  

当然类似还有 onJsConfirm , onJsPrompt 等, ref:  http://developer.android.com/reference/android/webkit/WebChromeClient.html
Android 与 JavaScript  的交互

WebSettings webSettings = mWebView.getSettings(); 
        webSettings.setJavaScriptEnabled(true);  
        mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo");  

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值