如何获取用户/相机拍摄的最后一张照片

Posted

技术标签:

【中文标题】如何获取用户/相机拍摄的最后一张照片【英文标题】:How to get last picture taken by user/camera 【发布时间】:2019-01-31 16:19:41 【问题描述】:

如何使用颤振从图库(相机胶卷)中获取最后一张照片?

我想将这张照片显示为这样的缩略图:

我知道在 android Get uri of picture taken by camera 和 ios Swift - how to get last taken 3 photos from photo library? 中是可能的

是否有工具、库、媒体 API 可以帮助我解决这个问题?

【问题讨论】:

【参考方案1】:

使用平台渠道,你知道它是原生解决方案

https://medium.com/flutter-io/flutter-platform-channels-ce7f540a104e

https://flutter.io/docs/development/platform-integration/platform-channels

【讨论】:

我不想为android和ios编写自定义代码:/【参考方案2】:

如果您愿意通过对话框执行此操作,您可以使用image picker plugin,它允许您浏览相机的图片库,并且用户可以选择图片(包括最后一张图片)。

如果您希望完全以编程方式完成此操作,有人在此处实现了此功能的拉取请求:https://github.com/flutter/plugins/pull/676,但由于需要进行一些测试,因此尚未被接受。你可以从那个 PR 复制代码,或者添加一些测试,然后让它被 repo 接受!

【讨论】:

【参考方案3】:

您可以尝试使用此库。 photo_manager

  List<AssetEntity> assets = [];
  _fetchAssets() async 
    final albums = await PhotoManager.getAssetPathList(type: RequestType.all);
    final recentAlbum = albums.first;
    final recentAssets = await recentAlbum.getAssetListRange(
      start: 0, // start at index 0
      end: 1, // end at a very big index (to get all the assets)
    );
    print(recentAssets);

    setState(() => assets = recentAssets);
  

【讨论】:

以上是关于如何获取用户/相机拍摄的最后一张照片的主要内容,如果未能解决你的问题,请参考以下文章

如何在一张照片上拍摄出四幅图片?

获取使用 Swift 拍摄的最后一张照片

如何在 Swift 3/4 中使用相机获取位置?

如何选择存储在 iOS 库中的最后一张图片

如何获取从 UIImagePicker 拍摄的图片的资产 URL

如何知道相机拍摄的照片的方向? [复制]