导航:首页 > 操作系统 > js访问android

js访问android

发布时间:2023-05-17 18:16:03

⑴ JS 调用android的方法该怎么调

用webview打开网页,然后通过webview与app的本地java代码进行交互。
1、设置webview支持Javascript
mWebview.getSettings().setJavaScriptEnabled(true);

2、加进一个回调的代理类JavaScriptInterface,并给它一个调用的名称:ncp
mWebView.addJavascriptInterface(new JavaScriptInterface(), "ncp");
final class JavaScriptInterface {
public int callOnJs() {
return 1000;
}
public void callOnJs2(String mode) {
//TODO
}
}
3、JS页面调用android方法
<script type="text/javascript">
window.onload = function(){
var _int_value = window.ncp.callOnJs(); //通过ncp代理调用android方法
}
</script>

⑵ JS 调用android的方法该怎么调

<body>

<!-- Calls into the javascript interface for the activity -->

<!-- 从HTML文件中调用activity中的函数 -->

<!-- 也就是从HTML到android程序 留意window.demo.clickOnAndroid()这句话 -->

<a onClick="window.demo.clickOnAndroid()">Click</a>

</body>





mWebView.addJavascriptInterface(newDemoJavaScriptInterface(),"demo");

{
DemoJavaScriptInterface(){
}

/**
*ThisisnotcalledontheUIthread.Postarunnabletoinvoke
*
*loadUrlontheUIthread.
*
*/
publicvoidclickOnAndroid(){//注意这里的名称。它为clickOnAndroid(),注意,注意,严重注意
mHandler.post(newRunnable(){
publicvoidrun(){

Toast.makeText....
}
});
}
}

⑶ javascript调用android问题

onclick="window.Android.show()"
你的语法写错了,js调用Android要用window.TAG
这个TAG就是
webView.addJavascriptInterface(new Object(), TAG); // 设置javaScript可用于操作Activity类
看你的代码,你传递了一个Android
因此你的js里应改成window.Android.show();

⑷ 如何在JAVASCRIPT调用Android JAVA函数

一、网页的JS代码调用ANDROID中JAVA代码的方法
在网页中调用java代码、需要在webview控件中添加javascriptInterface
contentWebView = (WebView) findViewById(R.id.webview);
//启用javascript
contentWebView.getSettings().setJavaScriptEnabled(true);
contentWebView.addJavascriptInterface(this, "js对象名");

在Activity中定义一个要被js调用的方法、src为js传递过来的参数、如果没有不传也可以
public void jsFunction(final String str) {
Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
runOnUiThread(new Runnable() {
@Override
public void run() {
//在里对Android应用的UI进行处理
}
});
}

在网页中、只需要像调用js方法一样、进行调用就可以
<a onClick="window.js对象名.jsFunction(´hello world´)" >
点击调用java代码并传递参数
</a>

二、ANDROID中JAVA代码调用网页的JS代码的方法

Java代码调用js并传参其实是通过WebView的loadUrl方法去调用的、只是参数url的写法不一样而已

// 无参数调用
contentWebView.loadUrl("javascript:javacalljs()");
// 传递参数调用
contentWebView.loadUrl("javascript:javacalljswithargs("
+ "´hello world´" + ")");

三、JAVA和JS交互注意事项
1、Java 调用 js 里面的函数、效率并不是很高、估计要200ms左右吧、做交互性很强的事情、这种速度很难让人接受、而js去调Java的方法、速度很快、50ms左右、所以尽量用js调用Java方法
2、Java 调用 js 的函数、没有返回值、调用了就控制不到了
3、Js 调用 Java 的方法、返回值如果是字符串、你会发现这个字符串是 native 的、转成 locale 的才能正常使用、使用 toLocaleString() 函数就可以了、不过这个函数的速度并不快、转化的字符串如果很多、将会很耗费时间
4、网页中尽量不要使用jQuery、执行起来需要5-6秒、最好使用原生的js写业务脚本、以提升加载速度、改善用户体验。

⑸ Js调用Android的方法

1、初始化WebView

X5WebView  webView =new X5WebView(this,null);我这里用的是腾讯的TBS浏览服务.详情参考上一篇文章: https://www.jianshu.com/writer#/notebooks/10278901/notes/42868406

2、设置初始化WebSetting

3、给WebView添加addJavascriptInterface()

例如:

⑹ JS怎样调用Android本地原生方法

NativeScript的工作原理:用JavaScript调用原生API实现跨平台 NativeScript是最近推出的一个跨平台解决方案,可以让你可以用JavaScript来直接写Android、iOS本地应用程序,未来还即将扩展到Windows平台。是最近比较受关注的项目。它与 nw (原名node-webkit ,用Web写winodw/linux桌面应用)和 phonegap内嵌webview写APP的实现方式有着本质的不同,它直接用JavaScript调用系统原生API,因而有一些原生应用的特点。 NativeScript是一个运行环境,可以让你使用通用的JavaScript代码,打造原生的iOS,Android和Windows(即将推出)应用程序。 NativeScript有很多很酷的功能,比如支持JavaScript对象双向绑定到原生UI组件,以及用CSS为原生应用程序写样式。但我最喜欢的功能是NativeScript可以让您直接访问本地平台的原生API。 注* 可以理解为NativeScript是一个JavaScript V8运行环境的命令转发代理,将JavaScript调用转发给不同平台上的原生API如Android、iOS,以及即将支持的Windows。 例如,看看这个NativeScript写的Android应用程序的代码: 123var time = new android.text.format.Time();time.set( 1, 0, 2015 );console.log( time.format( "%D" ) );你只需要一两分钟来分析一下就明白了,这段JavaScript代码实例化一个Java android.text.format.Time()对象,调用其set()方法,然后打印format后的返回值,是字符串“01/01/15”。 我知道你已经很激动了,先不要慌,让我们再来看看iOS的代码: 1234var alert = new UIAlertView();alert.message = "Hello world!";alert.addButtonWithTitle( "OK" );alert.show();这段JavaScript代码实例化一个Objective-C UIAlertView类,设置它的信息属性,然后调用它的addButtonWithTitle()和show()方法。当您运行这段代码,你会看到hello word的警告框。 如果你已经熟悉了npm的使用,NativeScript模块非常容易编写,分发和使用。就个人而言,作为一个Web开发人员,原生的iOS和Android代码让我害怕,尤其是当Java / Objective-C的API文档扔在一起的功能,它降低了我们跨平台开发的障碍。 还有HBuilder 也可以调用api

⑺ js 中调用android中的方法,复杂参数怎么对应

webview中js调用本地java方法,这个功能实现起来稍微有点麻烦,不过也不怎么复杂,首先要对webview绑定javascriptInterface,js脚本通过这个接口来调用java代码。

contentWebView.addJavascriptInterface(this, "wst"); javainterface实际就是一个普通的java类,里面是我们本地实现的java代码, 将object 传递给webview,并指定别名,这样js脚本就可以通过我们给的这个别名来调用我们的方法,在上面的代码中,this是实例化的对象,wst是这个对象在js中的别名

阅读全文

与js访问android相关的资料

热点内容
phpcurl视频l教程 浏览:193
压缩机模型下载 浏览:335
服务器怎么登录root 浏览:242
手机主页设文件夹 浏览:956
安卓投屏极米用什么 浏览:415
老程序员总结的16条经验教训 浏览:194
linux修改服务器时间 浏览:446
检查文件夹新增文件 浏览:287
代理服务器和脚本地址 浏览:529
如何让宽带一直连接网络连接服务器 浏览:718
编译阶段形成逻辑地址 浏览:328
设置中应用加密是哪个 浏览:682
php当前函数名 浏览:161
程序员睡眠不好心跳快 浏览:232
python怎么将电脑作为服务器 浏览:779
腰椎压缩性骨折算几级伤残 浏览:302
传统资产配置策略加密货币市场 浏览:990
id加密门禁卡可以复制到手机吗 浏览:674
路由器如何控制某个app 浏览:45
C51编译器在标准C的基础上 浏览:262