使用XWalkView 替换 WebView控件
来源:互联网 发布:java list 转数组 编辑:程序博客网 时间:2024/06/08 15:01
问题背景
系统签名app(android:sharedUserId="android.uid.system")运行webview(Android 5.0+)会出现闪退问题
问题分析
SharedUserid,是指拥有同一个Userid的多个APK可以配置成运行在同一个进程中,从而实现各APK的资源共享。但是使用这句话之后也就导致安全性能的问题。因为webview允许运行js,如果用户通过js注入安全代码,那么js就可以肆无忌惮的使用系统权限,这无疑是一个漏洞,可谓门户大开,所以在Android 5.0以后,若还要使用SharedUserid签名,就不能在使用webview控件了。
使用XWalkView 替换 WebView控件,步骤:
1.下载zip包,解压后导入。下载地址
2.关联此Library。如何在as中添加aar包
3.在清单文件中写入下列权限
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.CAMERA" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /><uses-permission android:name="android.permission.RECORD_AUDIO" /><uses-permission android:name="android.permission.WAKE_LOCK" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
4.layout文件写法,和其他自定义控件一样。
<org.xwalk.core.XWalkView android:id="@+id/xwalkWebView" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" />
5.使用XWalkView 加载页面
// urlmXWalkView.load("http://crosswalk-project.org/", null);// this loads a file from the assets/ directorymXWalkView.load("file:///android_asset/index.html", null);
6.在Webview中有WebViewClient,那XWalkView呢?
mXWalkView.setResourceClient(new XWalkResourceClient(mXWalkView){ @Override public void onLoadFinished(XWalkView view, String url) { super.onLoadFinished(view, url); } @Override public void onLoadStarted(XWalkView view, String url) { super.onLoadStarted(view, url); }});
7.调用JavaScript
不像WebView一样获取setting设置setJavaScriptEnabled为true才能执行。Crosswalk可以直接执行js。当然,按照Kitkat引入的方式,使用evaluateJavascript方法也是可以的。(大神们推荐)mXWalkView.load("javascript:document.body.contentEditable=true;", null);
好,到目前为止XWalkView 的基本使用也就介绍完了。希望对你有帮助。
阅读全文
0 0
- 使用XWalkView 替换 WebView控件
- xwalkview 替换掉webview 注意事项
- xwalkview 替换掉webview 注意事项
- android 的导入crosswalk 用xwalkview 替换webview
- WebView控件替换方案
- xwalkView的使用
- XWalkView
- webView控件基本使用
- 学习webView控件使用
- WebView控件使用
- WebView控件的使用
- WebView 控件使用Demo
- Android控件webview使用
- 控件WebView的使用
- 控件WebView的使用
- WebView控件的使用
- WebView控件的使用
- Webview控件的使用
- Hbase 启动报 clock is out of sync 错
- Mac 中vi的常用快捷键
- 利用request模拟登录知乎
- 新路程------hi3516a vi_dump以及vio失败
- 底部定位,键盘弹出时把底部顶上去的解决方法
- 使用XWalkView 替换 WebView控件
- python 判断是否存在某个文件
- Java8 lambda表达式10个示例
- Uva 12304 2D Geometry 110 in 1!(圆综合题)
- node解决安装包后xx-v命令无效
- A
- Hibernate java.lang.StackOverflowError异常解决
- 小程序--导航栏篇
- Android接入微信支付踩过的坑