Android和JS的交互问题
伊谢尔伦
伊谢尔伦 2017-04-18 09:19:19
[Android讨论组]

前端写了这样的代码。

我应该怎么响应呢?大神请帮忙解答一下,不要说 让我去百度了。我找不到不会才提问的。

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(6)
PHPz

让你去Google 你去吗?哈哈哈,说着玩的。。。下面是解答:

return true;

是想把这个 布尔值返回给Android端吗?如果是就调用Android 中约定好的方法。
如果想从Javascript调的方法里面获取到返回值,只需要定义一个带返回值的@JavascriptInterface方法:

    public class AndroidMessage {
        @JavascriptInterface
        public String getMsg() {
            return "form java";
        }
    }

添加Javascript的映射Webview:

    webView.addJavascriptInterface(new AndroidMessage(), "AndroidMessage");

Javascript直接调用Java方法:

function showAlert(){
        var str=window.AndroidMessage.getMsg();
        console.log(str);
 }

你可以参考这里:Android 与 js 交互

ringa_lee

WebView有一个addJavascriptInterface方法,可以看下这个,或者自己通过WebChromeClient自己实现。
还有就是也可以使用第三方封装,比如cordovacordova-android。

PHPz

不去百度, 那就去Google呀...

JS代码不能这么写, Native & JS 之间需要有一个JS对象才能完成交互.

参考资料:
Android中Java与JavaScript交互的几种方式

PHP中文网

先吐个槽,你们这前端相当于什么都没干嘛。。。
我接触这方面的东西不算多,也就是做过一些简单的交互,说一点粗浅的用法
关于js与Android原生交互,Android本身提供了JavaScriptInterface注解,使用这个注解可以实现两端的交互,但是回调执行起来却不怎么方便(或许是我使用的姿势不对)。
同时这里有一个不错的轮子,使用起来更简单些,你也可以参考下:jsBridge.

PHP中文网

去了解一下android和JS交互的基础原理,其中之一是WebView.addJavaScriptInterface(),这个看明白了,你就知道该怎么做了,如果你仅仅是想实现个back的功能,非常的简单,如果你的android和JS有很多类似于这样的交互,建议你引入框架,比如JSBridge,这个框架把android和JS的通信进行了封装,所以大规模交互的时候,你用起来会轻松很多。望采纳

天蓬老师

addJavaScriptInterface这个方法是最简单的了。假如还要更高级的,就需要看下下面这篇文章,写的挺好。
好好和h5沟通!几种常见的hybrid通信方式

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号