- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最近,Expo 升级到了第 39 版,他们声称您现在可以使用 expo-camera 在浏览器中扫描条形码:https://dev.to/expo/expo-sdk-39-is-now-available-1lm8
它适用于 Android 和 iOS,但我仍然无法在浏览器中使用它(我知道我可以使用其他 Web 扫描库,但只使用一个库 expo-camera 会很棒
)
有没有额外的配置?
我的package.json
...
dependencies: {
...,
"expo": "~39.0.2",
"react-native": "https://github.com/expo/react-native/archive/sdk-39.0.4.tar.gz",
"react-native-web": "~0.13.12",
"expo-camera": "~9.0.0",
...
}
MyCamera.tsx
:
import React, { useEffect, useState } from 'react';
import { useIsFocused } from '@react-navigation/native';
import { Platform, StyleSheet, Text } from 'react-native';
import { BarCodeScanningResult, Camera } from 'expo-camera';
function PPCamera() {
// properties
const [hasPermission, setHasPermission] = useState(false);
const [scanned, setScanned] = useState(false);
const isFocused = useIsFocused();
let camera: Camera | null;
// methods
useEffect(() => {
(async () => {
if (Platform.OS === 'web') {
setHasPermission(true);
} else {
const { status } = await Camera.requestPermissionsAsync();
console.log({ status });
setHasPermission(status === 'granted');
}
})();
}, []);
const handleBarCodeScanned = (scanResult: BarCodeScanningResult) => {
console.log({ scanResult });
const { type, data } = scanResult;
setScanned(true);
alert(data);
setTimeout(() => {
setScanned(false);
}, 1000);
};
// render
if (hasPermission === null) {
return <Text>Requesting for camera permission</Text>;
}
if (hasPermission === false) {
return <Text>No access to camera</Text>;
}
return (
isFocused && (
<Camera
ref={(ref) => {
camera = ref;
}}
onBarCodeScanned={scanned ? undefined : handleBarCodeScanned}
style={StyleSheet.absoluteFillObject}
/>
)
);
}
export default PPCamera;
const styles = StyleSheet.create({
camera: {
height: '80%',
width: '100%',
borderWidth: 2,
},
});
该组件在 Web 上工作并且相机正在显示,但我没有收到任何 onBarCodeScanned
事件。我什至尝试拍照,它适用于所有平台:let photo = await camera.takePictureAsync({ base64: true, quality: 0.5 });
谢谢!
最佳答案
在托管应用中,相机需要
在 App.json 文件中添加权限 链接 - https://docs.expo.io/versions/v39.0.0/sdk/permissions/
关于react-native - React Native,世博会 39 : Scan barcodes using expo-camera in Web,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64797111/
尝试在 iOS 上创建日历时,我得到: Calendar 'My Calendar' could not be saved: Error Domain=EKErrorDomain Code=14 "C
世博会构建和上传之间有什么区别。上传 cmd 是否仍然返回一个独立的应用程序。我意识到如果我在 Expo Client 上运行可以正常工作,但是当构建独立版本时,应用程序的行为又不一样了。 最佳答案
我正在尝试让我的 expo react-native 应用程序以横向显示 我将 app.json 编辑为: "orientation": "landscape", 这在 App.js 中 import
当我在 expo 中运行应用程序时,键盘覆盖 View 中的输入字段时遇到问题在我的 Android 设备上(我没有可供测试的 iOS 设备)。 我尝试过react-native KeyboardAv
我正在使用 Expo 开发一个 react 原生的消息传递应用程序。每次用户收到一条新消息时,我都会从我的服务器发送一条通知。 如果应用当前打开,有什么方法可以不显示通知? 现在我在收到通知后立即使用
嗨,我是一个学习 React Native + Expo 的新手,我不知道如何在成功登录/登录失败后重定向 到目前为止,这是我的代码: import React from 'react'; impor
我的应用程序是使用 Expo 开发的,该应用程序在 Expo Go 应用程序或任何模拟器上完美运行,0 错误、0(代码警告)和流畅,我最近生成了一个 APK 文件并想在真实设备上对其进行测试,所有 a
在过去的两天里,我一直在寻找使用 Expo + Detox + CircleCI 的良好设置,以便应用程序可以在 CI 过程中构建。 在本地,我可以通过下载 Exponent.app 并放入 bin
重新加载后,我的应用程序已停止加载。 我已经尝试过模拟器和 2 个真实的设备,android 和 ios。 错误是: Error: Unable to resolve module ./debugge
有没有办法更改在 http://localhost:19002/ 之后打开 Expo 界面 (expo start) 的浏览器? 我的默认浏览器是 Firefox,我在私有(private)生活中使用
我正在尝试进行简单的 SQLite 操作(例如选择和插入),但它根本不起作用。 这是我的功能: executarComando(strSql) { return new Promise((re
我正在开发我自己的小私有(private) Expo,使用 Expo SDK 32.0.0 的 React Native 应用程序,我目前正在构建一个身份验证流程,我通过我的 graphql 端点获取
我想在我的应用程序中放置一个按钮,按下时返回手机的当前地址。 我能够正确返回的纬度和经度,并将这些数据转换为我得到的地址 react-native-geocoder图书馆。 我当前的代码如下所示: i
我创建了一个 React Native 项目,我试图在 Expo XDE 中打开该项目。它引发以下错误: Cannot find module ...\node_modules\expo\tools\
我开发了一个 react-native (expo) 移动应用程序并尝试使用 google 帐户登录到 firebase,但出现错误: "auth/operation-not-supported-in
此消息似乎某些包正在使用 UIManager["RCTView"] 不再受支持,但我不确定如何解决此问题 Accessing view manager configs directly off UIM
我正在使用 ScrollView ,当我滚动并放开时,它会因为动量而继续滚动。我希望它只在手指触摸屏幕时滚动,我不想要动量。这可能吗?如果可能,如何实现? 最佳答案 使用值为 0 的 decelera
我已经在 Expo 35 上设置了 facebook 身份验证,如下所述: https://docs.expo.io/versions/v35.0.0/sdk/facebook/ 我可以在 expo
OTA更新已发布到App Store的Expo iOS应用时,app.json中的版本号可以更改/增加吗? 我的应用程序在应用程序的“设置”屏幕中显示 app.json 版本号。如果无法编辑 app.
在尝试使用 expo 配置根据安装指南运行 react-native 应用程序时,我发现了这个错误? Error: Invalid sdkVersion. Valid options are 10.0
我是一名优秀的程序员,十分优秀!