Начать. Это бесплатно
или регистрация c помощью Вашего email-адреса
ImagePicker создатель Mind Map: ImagePicker

1. Métodos

1.1. ImagePicker.getCameraPermissionsAsync()

1.1.1. Verifica as permissões do usuário para acessar a câmera.

1.2. ImagePicker.getMediaLibraryPermissionsAsync(writeOnly)

1.2.1. Verifica as permissões do usuário para acessar as fotos.

1.3. ImagePicker.getPendingResultAsync()

1.3.1. O sistema Android às vezes mata o MainActivity após o término ImagePicker. Quando isso acontece, perdemos os dados selecionados do arquivo ImagePicker. E para recuperar esses dados chamamos o getPendingResultAsync

1.4. ImagePicker.launchCameraAsync(options)

1.4.1. Exiba a IU do sistema para tirar uma foto com a câmera. Requer Permissions.CAMERA. No Android e iOS 10 Permissions.CAMERA_ROLLtambém é necessário.

1.5. ImagePicker.launchImageLibraryAsync(options)

1.5.1. Exiba a interface do usuário do sistema para escolher uma imagem ou um vídeo da biblioteca do telefone. Requer Permissions.MEDIA_LIBRARYapenas no iOS 10.

1.6. ImagePicker.requestCameraPermissionsAsync()

1.6.1. Pede ao usuário para conceder permissões para acessar a câmera. Isso não faz nada na web porque a câmera do navegador não é usada.

1.7. ImagePicker.requestMediaLibraryPermissionsAsync()

1.7.1. Pede ao usuário para conceder permissões para acessar a foto do usuário. Este método não faz nada na web.

2. API

2.1. import * as ImagePicker from 'expo-image-picker';

3. Interfaces

4. PermissionResponse

4.1. .canAskAgain

4.1.1. Indica se o usuário pode ser solicitado novamente para permissão específica. Caso contrário, deve-se direcionar para o aplicativo Configurações para habilitar/desabilitar a permissão.

4.2. .expires

4.2.1. Determina a hora em que a permissão expira.

4.3. .granted

4.3.1. Um boolean de conveniência que indica se a permissão foi concedida.

4.4. .status

4.4.1. Determina o status da permissão.

5. Tipos

5.1. CameraPermissionResponse

5.1.1. Alias ​​para PermissionResponseo tipo exportado por expo-modules-core.

5.2. ImagePickerAsset

5.2.1. Representa um ativo (imagem ou vídeo) retornado pelo seletor de imagem ou câmera.

5.3. ImagePickerErrorResult

5.4. ImagePickerOptions

5.5. ImagePickerResult

5.6. MediaLibraryPermissionResponse

5.6.1. Estende PermissionResponseo tipo exportado por expo-modules-coree contém campo adicional específico do iOS.

5.7. OpenFileBrowserOptions

5.8. PermissionExpiration

5.8.1. Tempo de expiração da permissão. Atualmente, todas as permissões são concedidas permanentemente.

5.9. PermissionHookOptions

6. Instalação

6.1. npx expo install expo-image-picker

7. Exemplo app.json com configuração plugin

7.1. { "expo": { "plugins": [ [ "expo-image-picker", { "photosPermission": "The app accesses your photos to let you share them with your friends." } ] ] } }

8. configurações para IOS

8.1. photosPermission

8.2. cameraPermission

8.3. microphonePermission

9. Código exemplo

9.1. import React, { useState, useEffect } from 'react'; import { Button, Image, View, Platform } from 'react-native'; import * as ImagePicker from 'expo-image-picker';

9.2. export default function ImagePickerExample() { const [image, setImage] = useState(null); const pickImage = async () => { // No permissions request is necessary for launching the image library let result = await ImagePicker.launchImageLibraryAsync({ mediaTypes: ImagePicker.MediaTypeOptions.All, allowsEditing: true, aspect: [4, 3], quality: 1, });

9.3. console.log(result); if (!result.canceled) { setImage(result.assets[0].uri); } }; return ( <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}> <Button title="Pick an image from camera roll" onPress={pickImage} /> {image && <Image source={{ uri: image }} style={{ width: 200, height: 200 }} />} </View> ); }

10. Depois de rodar, isso aparecerá no console

10.1. { "assets": [ { "assetId": "C166F9F5-B5FE-4501-9531", "base64": null, "duration": null, "exif": null, "fileName": "IMG.HEIC", "fileSize": 6018901, "height": 3025, "type": "image", "uri": "file:///data/user/0/host.exp.exponent/cache/cropped1814158652.jpg" "width": 3024 } ], "canceled": false, "cancelled": false }

11. Enums

11.1. MediaTypeOptions

11.1.1. .All

11.1.2. .Images

11.1.3. .Videos

11.2. PermissionStatus

11.2.1. .DENIED

11.2.1.1. O usuário negou a permissão.

11.2.2. .GRANTED

11.2.2.1. O usuário concedeu a permissão.

11.2.3. .UNDETERMINED

11.2.3.1. O usuário ainda não concedeu ou negou a permissão.

11.3. UIImagePickerControllerQualityType

11.3.1. .High

11.3.1.1. Maior resolução disponível.

11.3.2. .Medium

11.3.2.1. Depende do dispositivo.

11.3.3. .Low

11.3.3.1. Depende do dispositivo.

11.4. UIImagePickerPresentationStyle(apenas IOS)

11.4.1. .Automatic

11.4.1.1. O estilo de apresentação padrão escolhido pelo sistema. Em versões mais antigas do iOS, volta para WebBrowserPresentationStyle.FullScreen.

11.4.2. .CurrentContext

11.4.3. .FormSheet

11.4.4. .FullScreen

11.4.5. .OverCurrentContext

11.4.6. .OverFullScreen

11.4.7. .PageSheet

11.4.8. .Popover

11.5. VideoExportPreset

12. Permissões

12.1. Android

12.1.1. CAMERA

12.1.1.1. Necessário para poder acessar o dispositivo da câmera.

12.1.2. READ_EXTERNAL_STORAGE

12.1.2.1. Permite que um aplicativo leia do armazenamento externo.

12.1.3. WRITE_EXTERNAL_STORAGE

12.1.3.1. Permite que um aplicativo grave em um armazenamento externo.

12.2. IOS

12.2.1. NSMicrophoneUsageDescription

12.2.1.1. Uma mensagem que informa ao usuário por que o aplicativo está solicitando acesso ao microfone do dispositivo.

12.2.2. NSPhotoLibraryUsageDescription

12.2.2.1. Uma mensagem que informa ao usuário por que o aplicativo está solicitando acesso à biblioteca de fotos do usuário.

12.2.3. NSCameraUsageDescription

12.2.3.1. Uma mensagem que informa ao usuário por que o aplicativo está solicitando acesso à câmera do dispositivo.