webapp中安卓 ios 只调用拍照方法

在webapp开发中遇到一个问题,需要在上传图片时仅调用相机功能,而不允许选择相册。通过设置capture属性可以实现iOS上直接调用相机,但在安卓上不起作用。解决方案是通过修改前端的accept属性值,并配合安卓壳代码,根据参数判断调用相机还是相机+相册。前端代码示例展示了如何修改accept属性,安卓壳代码则实现了条件判断来调用相应功能。
摘要由CSDN通过智能技术生成

webapp中安卓 ios 只调用拍照方法

工作开心,问题多多啊。(o(╥﹏╥)o)
webapp新问题,解决一个在上传图片中点击时直接调用相机不能调用相册。(这啥操作,懵逼ing)
我只记得capture这个属性可以直接调用 相机,录像等功能 但是要去掉multiple这个可以多选的属性,第一次尝试已失败告终,不过这个在ios可以使用,那么要解决的就是安卓的问题了。
不会怎么办,问百度巴巴,疯狂百度模式开始,依旧没有找到解决办法,那就只能摆脱安卓大佬写个方法了。嘿嘿嘿
下面是你们喜爱的代码示例

前端调用方法

因为在ios中这样可以支持只调用相机,所以跟安卓约定改变accept中的值来使app直接打开相机
1.修改前

 <input type="file" capture="camera" ng-model="vm.avatarFile1" ngf-accept="'image/*'">

2.修改后

 <input type="file" capture="camera" ng-model="vm.avatarFile1" ngf-accept="'bugdd/*'">

安卓壳代码

这段代码的意思大概是 获取到accept中 的参数,判断是否含有他需要的那个参数。如果含有就调用相机方法,如果没有就调用相机和相册的方法。

@Override
public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, WebChromeClient.FileChooserParams fileChooserParams) {
   
    String[] acceptTypes = fileChooserParams.getAcceptTypes();
    mOpenFileChooserCallBack.showFileChooserCallBack(filePathCallback, acceptTypes);
    return true;
}

public interface OpenFileChooserCallBack {
   
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lbchenxy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值