javascript - 无法对 Android webview 的结果进行操作?

标签 javascript android webview

我正在使用 JavascriptInterface 从 webview 获取值(value)。我收到了值(value)。
但是当我对值进行“等于”检查时,它不起作用?
这是我的java代码。

@JavascriptInterface
public void check(String p) {
    if(p == "apple"){
    Toast.makeText(mContext, p, Toast.LENGTH_SHORT).show();
}
}

这是 javascript 代码。

<script type="text/javascript">
var p = "apple";
function check(p){
Android.check(p);
}
check(p);
</script>

最佳答案

你需要改变

if(p == "apple"){

对此

if(p.equals("apple"){

更多信息感谢 Rafał Zajfert Here

您的整个代码如下所示:

@JavascriptInterface
public void check(String p) {
    if(p.equals("apple")){
        Toast.makeText(mContext, p, Toast.LENGTH_SHORT).show();
    }
}

关于javascript - 无法对 Android webview 的结果进行操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45331068/

相关文章:

javascript - 为什么迭代中会出现原型(prototype)函数?

javascript - AJAX 请求图像不使用 jquery 发送/响应超时

javascript - 从 JSON 数据获取特定属性

javascript - 如何通过单击按钮随机设置表格行中的颜色?

java - Android 应用程序 - 带有相机应用程序的弹出菜单

javascript - UWP 排除 WebView 控件的 "Microsoft C++ exception: Js::JavascriptException"异常

java - 如何从Retrofit获取json数组

Android sqlite 存储日期类型

android - 如何使用 json 库解析嵌套的 JSON 对象?

macos - 为什么 Safari 和 WebView 组件之间的插件集可能不同?