在android上,用WEB页面打开手机摄像头

今天看到一个人提问,怎么在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的支持需要大打折扣。

转载于:https://my.oschina.net/hetiangui/blog/132991

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值