在我的世博项目中,我使用的是世博相机。在Android和iOS上,相机在打开之前都会请求许可。
但是,当我试图在移动设备浏览器上打开我项目的网络版本时,相机访问会被直接拒绝,而无需询问。我在iPhone 12和三星Galaxy S20上试过这个。但两人都没有征得许可。
在我的代码中,我使用以下行请求许可:
const [hasPermission, setHasPermission] = useState(null)
useEffect(() => {
;(async () => {
const { status } = await Camera.requestCameraPermissionsAsync()
setHasPermission(status === 'granted')
})()
}, [])
这就是我如何从expo-camera
调用相机组件
import { Camera, CameraType } from 'expo-camera'
return (
<Camera ref={ref => set_camera(ref)} type={type} style={{ flex: 1 }}/>
)
如何让手机浏览器也请求摄像头权限,并防止其直接拒绝?
如果您在手机(网络浏览器(上通过WIFI运行,请确保使用HTTPS