andriod webview和h5
1.WebBrowserActivity extends BaseActivity
2.setContentView(R.layout.activity_web_html);
<WebView
android:id="@+id/wv_web_browser"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
3.wv_web_browser = (WebView)findViewById(R.id.wv_web_browser);
WebSettings webSet = wv_web_browser.getSettings();
webSet.setJavaScriptEnabled(true);
webSet.setJavaScriptCanOpenWindowsAutomatically(true);
webSet.setLoadsImagesAutomatically(true);
webSet.setSupportZoom(true);
webSet.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS);
webSet.setUseWideViewPort(true);
webSet.setLoadWithOverviewMode(true);
webSet.setMixedContentMode(0);
// 设置出现缩放工具
webSet.setBuiltInZoomControls(true);
int sysVersion = VERSION.SDK_INT;
if (sysVersion >= 11) {
webSet.setDisplayZoomControls(false);
} else {
ZoomButtonsController zbc = new ZoomButtonsController(wv_web_browser);
zbc.getZoomControls().setVisibility(View.GONE);
}
// 设置可以访问文件
webSet.setAllowFileAccess(true);
webSet.setCacheMode(WebSettings.LOAD_NO_CACHE);
webSet.setAppCacheEnabled(true);
webSet.setDomStorageEnabled(true);
webSet.setDatabaseEnabled(true);
//通知h5应用状态 通知刷新html
informHtmlReceiver = new InformHtmlReceiver();
IntentFilter informHtmlFilter = new IntentFilter(AppConstants.ACTION_APP_PACKAGENAME_INFORM_HTML);
LocalBroadcastManager.getInstance(WebBrowserActivity.this).registerReceiver(informHtmlReceiver, informHtmlFilter);
// 增加h5与本地交互方法
wv_web_browser.addJavascriptInterface(new HtmlJavascriptInterface(),"jsObj");
wv_web_browser.addJavascriptInterface(new HtmlJavaAlarmInterface(), "mstore");
WebChromeClient wvcc = new WebChromeClient() {
@Override
public void onReceivedTitle(WebView view, String title) {
super.onReceivedTitle(view, title);
if (!TextUtils.isEmpty(title)) {
tv_classify_title.setText(title);
}
}
};
wv_web_browser.setWebChromeClient(wvcc);
/**
* 调用js更新H5,js方法
*/
private class InformHtmlReceiver extends BroadcastReceiver{ @Override
public void onReceive(Context context, Intent intent) {
final String packageName = intent.getStringExtra("packagename");
String state = intent.getStringExtra("state");
wv_web_browser.loadUrl("javascript:callDownState('" + packageName +"','"+state+ "')");
}
}
public class HtmlJavaAlarmInterface {
/**
* 点击添加
*
* @param apps_json
*/
@JavascriptInterface
public void setAlarm(final String endTime, final String title, final String content) {
if (CalendarUtil.tranceLong(endTime) != 0) {
CalendarUtil.setAlarm(WebBrowserActivity.this, CalendarUtil.tranceLong(endTime), title, content);
}
}
}
andriod webview和h5的更多相关文章
- swift禁用webView对H5中数字,链接,日期,地址,电话号码做解析
showWebView.dataDetectorTypes = .None //swift禁用webView对H5中数字,链接,日期,地址,电话号码做解析 其UIDataDetectorTypes属性 ...
- android:如何通过chrome远程调试APP中的webView的h5代码
今天出现一个问题,在老板的Mate9 Pro上,我们APP的所有H5页面都是一片空白,但是在其他手机上都是好的,那么我们就怀疑是h5报错了,但是到底是什么错,无法得知,所以就想要可以像在pc的chro ...
- Android中WebView与H5的交互,Native与JS方法互调
项目中经常用到WebView与H5的交互,一个是H5调本地方法,一个是本地调H5方法,在此记录一下. 首先,启用JS支持 //启用js支持 webSettings.setJavaScriptEnabl ...
- Android WebView与H5联调技巧
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/78 背景: 突然想写一篇关于Android WebView ...
- Webview 与h5的交互
步骤:H5代码 <html> <head> <meta charset="UTF-8"> <title>交互Demo ...
- Webview之H5页面调用android的图库及文件管理
h5页面打开图片管理器 一般页面在pc打开文件管理器是用 type="file"的代码,可是这在android的webview是无效的,必须为webview设定WebChromeC ...
- 解决vue在ios或android中用webview打开H5链接时#号后面的参数被忽略问题angular同样适用
在ios或android如果直接用webview在打开H5链接例如: 打开:http://localhost:8080/#/answer?id=1509335039582001 会变成 http:// ...
- 微信小程序web-view(webview) 嵌套H5页面 唤起微信支付的实现方案
场景:小程序页面有一个web-view组件,组件嵌套的H5页面,要唤起微信支付. 先讲一下我的项目,首先我是自己开发的一个H5触屏版的商城系统,里面含有购物车,订单支付等功能.然后刚开始,我们公众号里 ...
- android webview处理h5打开本地文件浏览器的功能
这周遇到一个比较棘手的问题,需要在android上边集成h5页面,并且在h5页面上,需要用户能够上传android本地的照片,一开始我以为webview会自动处理掉的,因此没太留意,当真正集成时,才发 ...
随机推荐
- Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems(动态规划+矩阵快速幂)
Problem Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems Time Limit: 3000 mSec P ...
- Java多线程面试
1.说说进程.线程.协程之间的区别 简而言之,进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程.进程在执行过程中拥有独立的内存单元,而多个线程共享内存资源,减少切换次 ...
- open-vm-tools与VMware Tools
安装VMware Tools经常会出现兼容性不好,系统之间复制文件失灵,并且安装时提示建议使用open-vm-tools,于是放弃vmware-tools的安装,尝试使用open-vm-tools o ...
- 二、PHP基本语法 - PHP零基础快速入门
我们日常生活中,有些人使用普通话交流,有些人使用家乡话.类比到计算机的世界里,PHP 是人与计算机沟通的语言之一. 既然是语言,那就必须遵循一定的语法规则.譬如 A 向 B 表白,A 会对 B 说:& ...
- WordPress博客搭建与问题总结
一.WordPress博客搭建 1.安装Apache web服务器 yum install -y httpd systemctl restart httpd systemctl enable ht ...
- java中异常处理finally和return的执行顺序
根据个人亲自测试,得出如下结果: 1.try,catch中有没有return,finnally都会执行,而且是先执行try,catch后,最后执行finnally语句: 2.如果finnally中有r ...
- keras02 - hello convolution neural network 搭建第一个卷积神经网络
本项目参考: https://www.bilibili.com/video/av31500120?t=4657 训练代码 # coding: utf-8 # Learning from Mofan a ...
- SpringMVC 实现文件上传与下载,并配置异常页面
目录 上传文件的表单要求 Spring MVC实现上传文件 需要导入的jar包 配置MultipartResolver解析器 编写接收上传文件的控制器 Spring MVC实现文件下载 下载文件时的h ...
- MySQL中怎么对varchar类型排序问题(转)
在mysql默认order by 只对数字与日期类型可以排序,但对于varchar字符型类型排序好像没有用了,下面我来给各位同学介绍varchar类型排序问题如何解决. 今天在对国家电话号码表进行 ...
- bugku web web3
flag就在这里快来找找吧http://123.206.87.240:8002/web3/ 点进去这个页面可以看到不断地有提示 flag就在这里 来找找吧 那就找一找哇 在source中可以找到一行注 ...