今天看到一个人提问,怎么在android上用web页面打开手机摄像头。刚好我们之前也做过类似的工程,刚好把想法写一下:

1、基本原理:

页面上做一个按钮,如打开摄像头,它做的事情就是将页面链接到一个特殊的页面,如<a href="opencapture">打开摄像头</a>;然后使用安卓的webview访问网页页面,同时重写shouldOverrideUrlLoading捕获url,当判断url为opencapture时,则使用安卓的api打开手机摄像头;

2、简单案例:

final class MyWebViewClient extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}

public void onPageStarted(WebView view, String url, Bitmap favicon) {
Log.d("WebView", "onPageStarted");
super.onPageStarted(view, url, favicon);
}

public void onPageFinished(WebView view, String url) {
Log.d("WebView", "onPageFinished ");
view.loadUrl("javascript:window.local_obj.showSource('<head>'+"
+ "document.getElementsByTagName('html')[0].innerHTML+'</head>');");
tv_item_loading.setVisibility(View.GONE);
super.onPageFinished(view, url);

//可以根据不同的URL,做不同的操作
}
}

3、调用:
webView.setWebViewClient(new MyWebViewClient());

webView.loadUrl(url_site);
webView是WebView的对象 4、个人对android界面开发的一些看法 个人觉得android的界面排版与web排版比起来,还是稍显复杂。对于需要很美观的界面,我个人倾向用web页面的方式实现,一来可以方便的用HTML排版;二来直接可以在服务器上修改页面而不用升级客户端。但是缺点是:毕竟android的浏览器不能与IE这样的浏览器相比,对HTML、JS的支持需要大打折扣。

更多相关文章

  1. Firefox常见问题总结
  2. H5跟ios、android数据对接
  3. Android(安卓)P刘海屏适配介绍
  4. 使用HTML5开发Android本地应用(一)
  5. Android(安卓)浏览器打开本地APK
  6. wifi和AP共存方案研究--Android8.0
  7. android开发入门网站和书籍推荐
  8. 让人郁闷的腾讯Android(安卓)QQ
  9. Activity相关工具类

随机推荐

  1. 采用 append 添加的html input无法获得值
  2. 使用ui.router如何让一个控制器成为另一
  3. Js/Html/Css 我好像写了个奇怪的东西
  4. 如何使html页面中的文本变为可编辑的?
  5. 如何使用fileupload.js上传多个文件?
  6. HTML5/CSS3系列教程:使用SVG图片
  7. 使用JQuery基于div / section更改的ADD /
  8. IE中页面不居中,火狐谷歌等正常
  9. 将文本从表单复制到另一个网站的文本字段
  10. Web 应用程序学习笔记