使用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
更多关于使用uni-app webview调用H5界面时 H5界面根据input调用摄像头摄像 在本地运行没有问题 但是本地打包放置android后打包运行 不同手机会发生不同的情况 但是结果都是保存不了视频的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个典型的Android WebView文件上传权限问题。主要原因可能有以下几点:
- Android WebView默认禁用了文件上传功能,需要在WebView中手动启用:
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setAllowContentAccess(true);
- 对于Android 10+设备,需要额外处理Scoped Storage权限问题。虽然你已经在manifest中声明了相关权限,但还需要确保:
- 在AndroidManifest.xml中添加:
<application android:requestLegacyExternalStorage="true">