js调用Android、ios原生代码
来源:互联网 发布:mac自带放大镜快捷键 编辑:程序博客网 时间:2024/04/30 07:06
ios部分
ios部分参考:传送门
js调用ios部分
调用必须在对应的.h或.m文件import
#import <JavaScriptCore/JavaScriptCore.h>//根据url加载网页- (void)loadWebPageWithString:(NSString*)urlString{ NSURLRequest *request =[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]]; [self setUserAgent]; [_webView loadRequest:request]; JSContext *context = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"]; context[@"application"] = ^() {//该行中的application就是js的方法名 NSArray *args = [JSContext currentArguments];//这里的args类容是JSValue,不能直接使用 for (JSValue *jsVal in args) { NSLog(@"%@", jsVal); //遍历打印所有value,可以通过[jsVal tostring]的方法转成NSstring类型 } //这里可以根据个人需求执行逻辑}
html部分、
<html> <head> </head> <body> <button id="hallo" onclick="iosbuttonClick()"> test-ios</button> <button id="hallo" onclick="androidbuttonClick()"> test-Android</button> <script> function iosbuttonClick() { application("parameter1", "parameter2"); //这里的参数个数无限制,可以空参数,application需要对应oc代码} function androidbuttonClick(){ client.call("parameter1", "parameter2");//这里的参数个数无限制,可以空参数,client需要跟Android代码对应,call是Android代码的共有方法的方法名字。 } </script></body> </html>
Android部分
1、使用当前的activity/fragment实现OnJavascriptInterfaceListener(本文使用activity)
2、为webview添加一个JavascriptInterface
webview.addJavascriptInterface(new JsOperation(this), "client");//client需要跟js对应
内部类JsOperation代码片段
“`
class JsOperation {
Activity mActivity; public JsOperation(Activity activity) { mActivity = activity; } @JavascriptInterface//别把这个注解漏掉 public void call(String s1,String s2){//方法名字需要跟js对应 //这里执行程序的业务逻辑处理 }
}
0 0
- js调用Android、ios原生代码
- js 调用 Android 原生代码
- IOS 与 Android WebView 中 JS 调用原生代码
- 23、JS调用Android原生代码方法
- android Js通过wepView调用原生代码
- Android和IOS js和原生调用的注入的js代码
- js调用ios原生多种写法参考及js调用android原生方法参考
- JS调用Android、Ios原生控件_优就业
- React Native 调用原生Android/iOS代码实现拨号功能
- Android调用JS && JS回调Android原生
- ReactNative-JS 调用原生方法实例代码
- Native.js学习(三): html通过native.js调用原生android API代码段总结
- JS&iOS原生交互 附代码地址
- js调用android原生方法,简单明了。
- JS怎样调用Android本地原生方法
- 通过js调用android原生方法
- react native js调用android原生activity
- android 中ionic JavaScript调用原生代码
- 3D 深度摄像头开发
- 《JAVA与模式》之责任链模式
- 23-《电子入门趣谈》第四章_自己制作电路板-4.3Altium Designer (第二部分)
- 10 个最佳的免费项目管理工具
- ERROR ITMS-90086
- js调用Android、ios原生代码
- GridView
- 《算法导论》读书笔记--堆排序
- 坐标系转换 iOS
- 服务器忘记mysql密码怎么修改?
- UITextField,UITextView,UISearchBar实现键盘的自动隐藏以及遮挡时自动上移的功能
- 网络编程归纳总结二阶段
- IOS8键盘模拟器无法显示,真机可以
- 瀑布流