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

本文详细介绍了在Android应用中通过Web页面打开摄像头的方法,包括基本原理、实现案例及个人对Android界面开发的看法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天看到一个人提问,怎么在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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值