使用uni-app webview调用H5界面时 H5界面根据input调用摄像头摄像 在本地运行没有问题 但是本地打包放置android后打包运行 不同手机会发生不同的情况 但是结果都是保存不了视频

使用uni-app webview调用H5界面时 H5界面根据input调用摄像头摄像 在本地运行没有问题 但是本地打包放置android后打包运行 不同手机会发生不同的情况 但是结果都是保存不了视频

开发环境 版本号 项目创建方式
Windows 11 专业工作站版 HBuilderX

产品分类:uniapp/App

PC开发环境操作系统:Windows

HBuilderX类型:正式

HBuilderX版本号:4.45

手机系统:Android

手机系统版本号:Android 10

手机厂商:一加6

手机机型:ONEPLUSA6000

页面类型:vue

vue版本:vue2

打包方式:离线

项目创建方式:HBuilderX

示例代码:

<web-view :webview-styles=“webviewStyles” src="/hybrid/html/index.html" @message=“onMessage” ></web-view> <input type="file" id="videoInput" accept="video/*" capture="environment">


android权限:


<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-feature android:name="android.permission.ACCESS_SURFACE_FLINGER"/>
<uses-feature android:name="android.hardware.camera"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="32" tools:ignore="ScopedStorage" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />

操作步骤:

uniapp使用webview调用H5界面时,H5界面根据input调用摄像头摄像,在本地运行没有问题,但是本地打包放置android后打包运行,不同手机会发生不同的情况,但是结果都是保存不了视频


预期结果:


可以正常调用摄像头回调相关视频数据

实际结果:

无法回调视频数据


bug描述:


uniapp使用webview调用H5界面时,H5界面根据input调用摄像头摄像,在本地运行没有问题,但是本地打包放置android后打包运行,不同手机会发生不同的情况,但是结果都是保存不了视频

更多关于使用uni-app webview调用H5界面时 H5界面根据input调用摄像头摄像 在本地运行没有问题 但是本地打包放置android后打包运行 不同手机会发生不同的情况 但是结果都是保存不了视频的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于使用uni-app webview调用H5界面时 H5界面根据input调用摄像头摄像 在本地运行没有问题 但是本地打包放置android后打包运行 不同手机会发生不同的情况 但是结果都是保存不了视频的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个典型的Android WebView文件上传权限问题。主要原因可能有以下几点:

  1. Android WebView默认禁用了文件上传功能,需要在WebView中手动启用:
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setAllowContentAccess(true);
  1. 对于Android 10+设备,需要额外处理Scoped Storage权限问题。虽然你已经在manifest中声明了相关权限,但还需要确保:
  • 在AndroidManifest.xml中添加:
<application android:requestLegacyExternalStorage="true">
回到顶部