java - 添加接口(interface)中的方法都没有注解@android.webkit.JavascriptInterface;它们在 API 17 中不可见

标签 java javascript android webview

我正在使用一个 webview 并想加载一个 JScode 以在该 webview 中显示。但是我在 API16 以上遇到了问题。它从不加载 JS 页面。它给我一个错误:

这是我的代码:

        @JavascriptInterface

    public void loadWebviewUrl(){
            Map <String, String> extraEncryptionHeaders = new HashMap<String, String>();
            extraEncryptionHeaders.put("X-APP-DEVICETYPE", "ANDROID"); 
            appVersionname=CommonMethods.getAppVersion(WebPayUActivity.this);
            extraEncryptionHeaders.put("X-APP-APPVERSIONNAME", appVersionname); 
            extraEncryptionHeaders.put("X-DEVICE", Constant.ANDROIDID); 
            extraEncryptionHeaders.put(Constant.HEADER_SECURITY_KEY, Constant.SECURITY_HASH_VALUE);
            mWebView.loadUrl(mPayUrl, extraEncryptionHeaders);

**//getting error in this line that has been mentioned above**
            mWebView.addJavascriptInterface(new Wscript(WebPayUActivity.this),
                    "Android");
            screenDpi=CommonMethods.getResoltuion(this);
            mWebView.setWebViewClient(new MyWebViewClient(this));

            mImageView.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    customAlertDialog();    
                }
            });
            mWebView.setWebChromeClient(new WebChromeClient());
        }

在阅读不同站点的解决方案后,我开始知道添加注释。但是写完注解,还是报错。

任何人都可以检查并帮助我吗

谢谢

最佳答案

你必须添加

@SuppressLint("JavascriptInterface")

到您使用 webView 对象的公共(public)方法。

关于java - 添加接口(interface)中的方法都没有注解@android.webkit.JavascriptInterface;它们在 API 17 中不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28293545/

相关文章:

javascript - 在 Javascript 中复制和裁剪图像

Android GPS ACCURACY_HIGH 导致强制关闭?

android - 针对 android 的 libusb 进行编译和链接

java - 是否可以使用 ByteBuddy 更改注释的值?

javascript - 如何根据选中的选项显示文本数组?

javascript - 为什么在将这个无限循环添加到我的 javascript 代码后我的页面无法加载?

android - Activity 死亡重新启动进程

java - jdk.serialFilter 不能用于限制 Java 中 TreeMap 的深度(防止通过 Java 进行 DoS 攻击)

java - 插入时应用程序卡住(Android SQLite DB)

java - 在 Windows 7 上的 Eclipse Luna Release (4.4.0) 中克隆 GitHub 存储库