android和JS交互,相互调用方法传值。不使用第三方实现原生加载word、ppt、pdf文档
来源:互联网 发布:怎么管理mac下面的图标 编辑:程序博客网 时间:2024/06/06 02:42
android行情一天不如一天。都说是铁打的后台,流水的前端,没人要的移动端。
言归正传,现在项目需求中原生app开发好使比较久,现需求架子是app,内容全是webview嵌套。但现在发现,纯网页流程度上实在不敢恭维,而且有些功能前端实现不了(比如不使用第三方加载txt、word、ppt、pdf文本,调用本机上传图片。)
第一步在webActivity中设置
WebSettings settings = mWebView.getSettings();settings.setJavaScriptEnabled(true);
第二步写一个方法供js调用,可以有参数,参数根据需求自己定义mWebView.addJavascriptInterface(myWebChromeClient2, "android");//记住这个名字,可以随意命名
@JavascriptInterfacepublic void getImageName(String imagename) { Log.e("TAG_imagename==", imagename + ""); this.imagename = imagename; take(imagename);}js调用的时候就是android.getImageName("");
android调用js方法请看下面
比如js的方法是这样定义的
function getandroidString(String stringbase64){
alert(stringbase64);
}
android 调用的时候
mWebView.loadUrl("javascript:getandroidString(" + imagebase64 + ")");于是坑出现了,因为我这边需要传两个值,所以定义两个参数。有时mWebView.loadUrl却不调用,网上也有一下说法。
第一:webview.loadurl 的加载是在另一个线程中执行必须要在webview加载完毕执行。
mWebView.loadUrl("http://www.baidu.com");
mWebView.loadUrl("javascript:getandroidString(" + imagebase64 + ")");
也就是说虽然是这么写的,但实际上第二句有可能比第一句先完成
解决办法:重写MyWebViewClient的onPageFinished方法,在onPageFinished方法中处理操作。
第二:js有错误,前端还无法定位,这个就很蛋疼了。
然这两种方式都没有解决我的问题。因为我需要传递来两个参数,第一个参数字母数字都可以,第二个参数只要传递字母就无法执行。
开始想的是前端在定义两个参数的时候类型有差别,但前端再三保证,诶有问题。无意中发现一篇文章,上面写道有人要求传递参数的时候要加单引号‘’
他测试后发现没有问题,加不加一样。
然后我就想是不是一位内这个原因呢,特殊情况必须要加单引号‘’
mWebView.loadUrl("javascript:getandroidString('" + photoName + "','" + imagebase64 + "')");
调用成功。有问题请加qq1657379258.我也是菜鸟,大家一起学习
最后附上不使用第三方加载word、ppt、pdf等文件的类库地址;
阅读全文
0 0
- android和JS交互,相互调用方法传值。不使用第三方实现原生加载word、ppt、pdf文档
- Android中调用第三方打开本地doc、pdf、ppt、text等文件功能的实现
- 通过调用第三方实现word,ppt,excel的打开
- iOS和JS交互(含OC、html、js)代码不使用第三方库(二)
- 调用第三方开发word 文档
- android之通过webview实现与js方法相互调用,数据交互
- ios原生方法和h5相互调用的实现
- 不使用第三方变量 给两个变量相互交换值PHP实现
- Android实现在线预览office文档(Word,Pdf,excel,PPT.txt等格式)
- 使用百度JS模板引擎生成PDF和Word文档
- .NET WEB 实现office文档(word、excel、ppt)转PDF
- android不用第三方如何打开word,ppt?
- android利用多线程加载图片【不使用第三方库】
- 如何使用免费PDF第三方插件从PDF文档中提取文本和图片
- Android 和 javascript 之间交互(方法相互调用)
- JS生成PDF和word文档
- iOS 基于JavaScriptCore 不等webView加载完毕就交互,网页获取原生内容。 webView的高级用法之JS交互,js与oc的相互调用
- 使用第三方组件NPOI和iTextSharp根据DataTable导出Excel、Word、Pdf
- leetcode_599. Minimum Index Sum of Two Lists ? 待解决
- hive 不同用户 权限设置 出错处理
- Win10系统下软件UI显示不完整解决方案
- vlc for android 不能全屏,或者画面不能铺满的问题。
- 二叉树的层序遍历 使用队列和不使用队列
- android和JS交互,相互调用方法传值。不使用第三方实现原生加载word、ppt、pdf文档
- Python学习之路6
- hdu 6242 Geometry Problem(随机化+三点求外接圆)
- Python学习之路7
- JVM二:JVM7、8详解
- Python学习之路8
- CentOS7安装Python3
- 如何做电视节目的视频直播(电视台节目直播)
- Shader-灰频效果