如何从React Native应用程序打开iOS图库应用程序

5
我正在尝试从React Native应用程序打开iOS图库应用程序,但遇到了问题。我有文件URL和资源URL。我从CameraRoll获取了资源URL。现在我想打开图库本身以查看图像。
这是我使用的代码:
openGallery = () => {
// this code is working on android using asset url
// sample url on iOS
// file url : file:///var/mobile/Containers/Data/Application/A41FFC2E-06D4-445D-9B94-D21E885930C7/Documents/video/popcam-1527202811.mov
// asset url : assets-library://asset/asset.mov?id=D4C62335-EDB1-4A75-B94D-61C3D48CADEA&ext=mov
const { galleryUrl, source } = this.props
const url = Platform.OS === 'ios' ? source : galleryUrl
Linking.canOpenURL(url).then(canOpen => {
  if (canOpen) {
    Linking.openURL(url)
  } else {
    Alert.alert('Info', 'Under Development')
  }
})

谢谢


您可以使用相机胶卷.. https://facebook.github.io/react-native/docs/cameraroll.html - digit
我已经使用相机胶卷获取了资源URL。我从相机胶卷中获取了这个URL(资源URL:assets-library://asset/asset.mov?id=D4C62335-EDB1-4A75-B94D-61C3D48CADEA&ext=mov)。相机胶卷仅用于获取资产URL,而不是打开图库本身。 - Addin
你可以使用react-native-image-picker。 - Ankit Aman
2个回答

12
openPhotos = () =>{
switch(Platform.OS){
  case "ios":
    Linking.openURL("photos-redirect://");
  break;
  case "android":
    Linking.openURL("content://media/internal/images/media");
  break;
  default:
    console.log("Could not open gallery app");
 }
}

谢谢,这修复了问题。 - Addin

0

我不知道如何打开特定的资产。但是,您可以使用以下方案打开照片应用程序:

Linking.openURL('photos-redirect://')


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接