0

在 Android 上拍照后,我的 EAS 应用程序崩溃。用户拍摄了一张照片,但在尝试将其上传到应用程序本身后,应用程序崩溃了。这不会发生在 iOS 上,它似乎只是一个 Android 问题。

下面是我的代码:

import { Camera } from 'expo-camera'; 
import * as ImagePicker from 'expo-image-picker'; 

const [ image1, setImage1 ] = useState(null); 

const takeImage = async ()=>{ 

const { granted } = await Camera.requestCameraPermissionsAsync() 

if(granted){ 
   let data = await ImagePicker.launchCameraAsync({ 
     mediaTypes:ImagePicker.MediaTypeOptions.Images,
     allowsEditing: false,
     aspect:[1,1],
     quality:0.5,
     base64: true,
     doNotSave: true
}) 

    console.log(data.base64) 

   if (!data.cancelled){
      setImage1({"uri": data.uri, "raw_data": data.base64}); 
  }

      } 
return;

if (granted === false ){
    Alert.alert(i18n.t('noPermission'))
  }
  console.log('There is no permission')


<View style = {styles.centerAlignment}>
      <View style = {styles.pictureAlignment}>
        {image1 && <Image source={{uri:`data:image/jpg;base64,${image1.raw_data}`}} style = {styles.phoneImage}/>}
      </View>
    
      <View style = {styles.centerAlignment}>         
        <TouchableOpacity
           onPress = { takeImage }
           style = {styles.button2}
        >
          <Text style = {styles.photoText}>{i18n.t('pho1')}</Text>
        </TouchableOpacity>
      </View>

</View>
4

2 回答 2

0

我遇到了类似的问题,这个线程帮助了我。我的应用程序使用“常规”构建方法运行良好,但在使用 EAS 时崩溃。

我正在使用 expo-camera 读取条形码,并expo-barcode-scanner为我package.json解决了它。

于 2022-01-06T10:09:45.923 回答
-1

我创建了一个可以拍摄并上传的小吃示例,它运行良好,请尝试并告诉我:

https://snack.expo.dev/@adgogo/camera

它工作得很好,这是它的一个屏幕:

在此处输入图像描述

我可能认为这是您设备的问题。

于 2021-12-27T16:08:55.320 回答