Code Monkey home page Code Monkey logo

flutter_photo's Introduction

archived

The package is archived. Please use flutter_wechat_assets_picker.

photo

pub package pub package GitHub GitHub stars

image picker, multi picker

support ios icloud

support video

use flutter as ui

if you want to build custom ui, you just need api to make custom ui. to use photo_manager or fork the library to custom ui.

Screenshot

image

install

latest version : pub package pub package

dependencies:
  photo: $latest_version

Import

import 'package:photo/photo.dart';
import 'package:photo_manager/photo_manager.dart';

Usage

Simple use

void pickAssets() async {
    List<AssetEntity> assetList = await PhotoPicker.pickAsset(context: context);
    /// Use assetList to do something.
}

More option

The context is required, other params is optional.

void pickAsset() async {
    List<AssetEntity> imgList = await PhotoPicker.pickAsset(
      context: context,
      // BuildContext requied

      /// The following are optional parameters.
      themeColor: Colors.green,
      // the title color and bottom color
      padding: 1.0,
      // item padding
      dividerColor: Colors.grey,
      // divider color
      disableColor: Colors.grey.shade300,
      // the check box disable color
      itemRadio: 0.88,
      // the content item radio
      maxSelected: 8,
      // max picker image count
      provider: I18nProvider.chinese,
      // i18n provider ,default is chinese. , you can custom I18nProvider or use ENProvider()
      rowCount: 5,
      // item row count
      textColor: Colors.white,
      // text color
      thumbSize: 150,
      // preview thumb size , default is 64
      sortDelegate: SortDelegate.common,
      // default is common ,or you make custom delegate to sort your gallery
      checkBoxBuilderDelegate: DefaultCheckBoxBuilderDelegate(
        activeColor: Colors.white,
        unselectedColor: Colors.white,
        checkColor: Colors.blue,
      ), // default is DefaultCheckBoxBuilderDelegate ,or you make custom delegate to create checkbox

      loadingDelegate:
          this, // if you want to build custom loading widget,extends LoadingDelegate [see example/lib/main.dart]

      badgeDelegate: const DefaultBadgeDelegate(), /// or custom class extends [BadgeDelegate]

      pickType: type, // all/image/video

      List<AssetPathEntity> photoPathList, /// when [photoPathList] is not null , [pickType] invalid .
    );

About photoPathList params

You can use [photo_manager] package to get List<AssetPathEntity> and handle or cache.

This parameter is then passed into the pickAsset method, where the incoming photoList is rendered instead of the data in the album.

Whole example

You can see github main.dart

About android

Migrate to androidX

See the gitbook

Glide

Android native use glide to create image thumb bytes, version is 4.8.0.

If your other android library use the library, and version is not same, then you need edit your android project's build.gradle.

rootProject.allprojects {

    subprojects {
        project.configurations.all {
            resolutionStrategy.eachDependency { details ->
                if (details.requested.group == 'com.github.bumptech.glide'
                        && details.requested.name.contains('glide')) {
                    details.useVersion "4.8.0"
                }
            }
        }
    }

}

if you use the proguard

see the github

About ios

Because the album is a privacy privilege, you need user permission to access it. You must to modify the Info.plist file in Runner project.

like next

<key>NSPhotoLibraryUsageDescription</key>
<string>App need your agree, can visit your album</string>

xcode like image in xcode

Build error

if you build error like include of non-modular header inside framework module, see #10 or so

Thanks

Part of the Android code comes from debuggerx01.

Donate

If my code helps you, and you're willing to buy me a cup of coffee.

you can use paypal

or scan my alipay

flutter_photo's People

Contributors

caijinglong avatar gebsl avatar gitter-badger avatar rignaneseleo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flutter_photo's Issues

Sort by last modified datetime

Hi,
I'm using the option sortDelegate: SortDelegate.common and the list of the pictures is apparentely sorted by datetime but if I take a picture and then download from Google Photos a picture from 2010, it won't be in the top of the list.

I'd like to have the option to sort by last modified datetime, like the Android recent pics picker does. Is it possible?

Thanks

run error

flutter: ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
flutter: The following assertion was thrown building ConfigProvider:
flutter: inheritFromWidgetOfExactType(ConfigProvider) or inheritFromElement() was called before
flutter: _PhotoMainPageState.initState() completed.
flutter: When an inherited widget changes, for example if the value of Theme.of() changes, its dependent
flutter: widgets are rebuilt. If the dependent widget's reference to the inherited widget is in a constructor
flutter: or an initState() method, then the rebuilt dependent widget will not reflect the changes in the
flutter: inherited widget.
flutter: Typically references to to inherited widgets should occur in widget build() methods. Alternatively,
flutter: initialization based on inherited widgets can be placed in the didChangeDependencies method, which
flutter: is called after initState and whenever the dependencies change thereafter.

simulator screen shot - iphone x - 2019-01-31 at 10 39 16

ios error build: include of non-modular header inside framework module

Failed to build iOS app
Error output from Xcode build:
↳
    2018-11-05 16:34:29.345 xcodebuild[43606:484357] [MT] PluginLoading: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/KZLinkedConsole.xcplugin' not present in DVTPlugInCompatibilityUUIDs
    2018-11-05 16:34:29.346 xcodebuild[43606:484357] [MT] PluginLoading: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/ClangFormat.xcplugin' not present in DVTPlugInCompatibilityUUIDs
    2018-11-05 16:34:29.346 xcodebuild[43606:484357] [MT] PluginLoading: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin' not present in DVTPlugInCompatibilityUUIDs
    ** BUILD FAILED **
    
Xcode's output:
↳
    === BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Debug ===
    The use of Swift 3 @objc inference in Swift 4 mode is deprecated. Please address deprecated @objc inference warnings, test your code with “Use of deprecated Swift 3 @objc inference” logging enabled, and then disable inference by changing the "Swift 3 @objc Inference" build setting to "Default" for the "Runner" target.
    === BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Debug ===
    While building module 'photo_manager' imported from /Users/cai/IdeaProjects/flutter/sxw_order/ios/Runner/GeneratedPluginRegistrant.m:9:
    In file included from <module-includes>:1:
    In file included from /Users/cai/IdeaProjects/flutter/sxw_order/build/ios/Debug-iphonesimulator/photo_manager/photo_manager.framework/Headers/photo_manager-umbrella.h:16:
    /Users/cai/IdeaProjects/flutter/sxw_order/build/ios/Debug-iphonesimulator/photo_manager/photo_manager.framework/Headers/MD5Utils.h:5:9: error: include of non-modular header inside framework module 'photo_manager.MD5Utils': '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.2.sdk/usr/include/CommonCrypto/CommonDigest.h' [-Werror,-Wnon-modular-include-in-framework-module]
    #import <CommonCrypto/CommonDigest.h>
            ^
    1 error generated.
    /Users/cai/IdeaProjects/flutter/sxw_order/ios/Runner/GeneratedPluginRegistrant.m:9:9: fatal error: could not build module 'photo_manager'
    #import <photo_manager/ImageScannerPlugin.h>
     ~~~~~~~^
    2 errors generated.

build error on ios simulator

出现了Native 方法错误

E/MethodChannel#top.kikt/photo_manager(17445): java.lang.IllegalStateException: You cannot call Glide.get() in registerComponents(), use the provided Glide instance instead
E/MethodChannel#top.kikt/photo_manager(17445): at com.bumptech.glide.Glide.checkAndInitializeGlide(Glide.java:180)
E/MethodChannel#top.kikt/photo_manager(17445): at com.bumptech.glide.Glide.get(Glide.java:168)
E/MethodChannel#top.kikt/photo_manager(17445): at com.bumptech.glide.Glide.getRetriever(Glide.java:689)
E/MethodChannel#top.kikt/photo_manager(17445): at com.bumptech.glide.Glide.with(Glide.java:716)
E/MethodChannel#top.kikt/photo_manager(17445): at top.kikt.imagescanner.thumb.ThumbnailUtil.getThumbnailByGlide(ThumbnailUtil.kt:22)
E/MethodChannel#top.kikt/photo_manager(17445): at top.kikt.imagescanner.core.PhotoManager.getThumb(PhotoManager.kt:78)
E/MethodChannel#top.kikt/photo_manager(17445): at top.kikt.imagescanner.core.PhotoManagerPlugin$onMethodCall$$inlined$apply$lambda$1.onGranted(PhotoManagerPlugin.kt:149)
E/MethodChannel#top.kikt/photo_manager(17445): at top.kikt.imagescanner.old.permission.PermissionsUtils.getPermissionsWithTips(PermissionsUtils.java:111)
E/MethodChannel#top.kikt/photo_manager(17445): at top.kikt.imagescanner.old.permission.PermissionsUtils.getPermissions(PermissionsUtils.java:84)
E/MethodChannel#top.kikt/photo_manager(17445): at top.kikt.imagescanner.core.PhotoManagerPlugin.onMethodCall(PhotoManagerPlugin.kt:227)
E/MethodChannel#top.kikt/photo_manager(17445): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:222)
E/MethodChannel#top.kikt/photo_manager(17445): at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:96)
E/MethodChannel#top.kikt/photo_manager(17445): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:656)
E/MethodChannel#top.kikt/photo_manager(17445): at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#top.kikt/photo_manager(17445): at android.os.MessageQueue.next(MessageQueue.java:325)
E/MethodChannel#top.kikt/photo_manager(17445): at android.os.Looper.loop(Looper.java:142)
E/MethodChannel#top.kikt/photo_manager(17445): at android.app.ActivityThread.main(ActivityThread.java:6938)
E/MethodChannel#top.kikt/photo_manager(17445): at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#top.kikt/photo_manager(17445): at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
E/MethodChannel#top.kikt/photo_manager(17445): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
I/zygote64(17445): Do partial code cache collection, code=250KB, data=151KB
I/zygote64(17445): After code cache collection, code=250KB, data=151KB
I/zygote64(17445): Increasing code cache capacity to 1024KB

FATAL EXCEPTION: pool-2-thread-1

I updated Flutter, Dart and Android Studio and now when I try to open the picker, the app crashes reporting only this error:

E/AndroidRuntime( 6350): FATAL EXCEPTION: pool-2-thread-1
E/AndroidRuntime( 6350): Process: boydpearce.my_grand_kids, PID: 6350
E/AndroidRuntime( 6350): java.lang.RuntimeException: Methods marked with @UiThread must be executed on the main thread. Current thread: pool-2-thread-1
E/AndroidRuntime( 6350): 	at io.flutter.embedding.engine.FlutterJNI.ensureRunningOnMainThread(FlutterJNI.java:605)
E/AndroidRuntime( 6350): 	at io.flutter.embedding.engine.FlutterJNI.invokePlatformMessageResponseCallback(FlutterJNI.java:556)
E/AndroidRuntime( 6350): 	at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:131)
E/AndroidRuntime( 6350): 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:225)
E/AndroidRuntime( 6350): 	at top.kikt.imagescanner.ImageScanner$getImagePathIdList$1.run(ImageScanner.kt:553)
E/AndroidRuntime( 6350): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/AndroidRuntime( 6350): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/AndroidRuntime( 6350): 	at java.lang.Thread.run(Thread.java:764)
I/Process ( 6350): Sending signal. PID: 6350 SIG: 9
Lost connection to device.
Failed to send request: {"jsonrpc":"2.0","id":"15","method":"getVM","params":{}}

I'm using:
Dart 2.3.1 (build 2.3.1-dev.0.0 a0290f823c)
Flutter 1.6.0
Android Studio (version 3.4.1)

Plugins:
photo: 0.3.3
sqflite: 1.1.5
path_provider: 0.5.0+1
cached_network_image: ^0.8.0
curved_navigation_bar: ^0.1.26
image_picker: ^0.6.0+3
fluttertoast: ^3.0.3
photo_view: ^0.3.3
esys_flutter_share: ^1.0.0
uuid: 2.0.0
image_downloader: ^0.15.2
image: ^2.0.7
intl: ^0.15.8

I'm pretty sure it is a version incompability bug because I'm versioning my code and now also old version of my project don't work.
How can I fix it?

AndroidX incompatibilities in this Flutter app

AndroidX incompatibilities in this Flutter app

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 13s
Running Gradle task 'assembleDebug'...
Running Gradle task 'assembleDebug'... Done 13.7s


The Gradle failure may have been because of AndroidX incompatibilities in this Flutter app.
See https://goo.gl/CP92wY for more information on the problem and how to fix it.


Gradle task assembleDebug failed with exit code 1

iOS device not loading images

I am getting the following when trying to use this plugin on my iPhone 8.

[VERBOSE-2:shell.cc(182)] Dart Error: Unhandled exception:
Failed assertion: boolean expression must not be null
#0      PhotoManager._filterType.<anonymous closure> (package:photo_manager/photo_manager.dart:107)
#1      WhereIterator.moveNext (dart:_internal/iterable.dart:439)
#2      new List.from (dart:core/runtime/libarray_patch.dart:40)
#3      Iterable.toList (dart:core/iterable.dart:398)
#4      PhotoManager._filterType (package:photo_manager/photo_manager.dart:109)
#5      PhotoManager._getImageList (package:photo_manager/photo_manager.dart:99)
<asynchronous suspension>
#6      AssetPathEntity.get:assetList (package:photo_manager/photo_manager.dart:246)
#7      _PhotoMainPageState._refreshList (package:photo/src/ui/page/photo_main_page.dart:162)
<asynchronous suspension>
#8      _PhotoMainPageState.initState (package:photo/src/ui/page/photo_main_page.dart:60)
#9      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3787)
#10     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3653)
#11     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#12     Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#13     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3689)
#14     Element.rebuild (package:flutter/src/widgets/framework.dart:3531)
#15     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3658)
#16     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3653)
#17     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#18     Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#19     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3689)
#20     Element.rebuild (package:flutter/src/widgets/framework.dart:3531)
#21     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3658)
#22     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3653)
#23     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#24     Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#25     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4796)
#26     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#27     Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#28     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3689)
#29     Element.rebuild (package:flutter/src/widgets/framework.dart:3531)
#30     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3658)
#31     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3653)
#32     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#33     Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#34     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4796)
#35     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#36     Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#37     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4796)
#38     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#39     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4901)
#40     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#41     Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#42     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3689)
#43     Element.rebuild (package:flutter/src/widgets/framework.dart:3531)
#44     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3658)
#45     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3805)
#46     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3653)
#47     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#48     Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#49     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4796)
#50     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#51     Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#52     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3689)
#53     Element.rebuild (package:flutter/src/widgets/framework.dart:3531)
#54     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3658)
#55     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3805)
#56     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3653)
#57     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#58     Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#59     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4796)
#60     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#61     Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#62     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3689)
#63     Element.rebuild (package:flutter/src/widgets/framework.dart:3531)
#64     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3658)
#65     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3805)
#66     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3653)
#67     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#68     Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#69     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4796)
#70     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#71     Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#72     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3689)
#73     Element.rebuild (package:flutter/src/widgets/framework.dart:3531)
#74     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3658)
#75     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3805)
#76     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3653)
#77     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#78     Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#79     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3689)
#80     Element.rebuild (package:flutter/src/widgets/framework.dart:3531)
#81     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3658)
#82     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3653)
#83     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#84     Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#85     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3689)
#86     Element.rebuild (package:flutter/src/widgets/framework.dart:3531)
#87     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3658)
#88     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3805)
#89     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3653)
#90     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#91     Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#92     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4796)
#93     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#94     Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#95     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3689)
#96     Element.rebuild (package:flutter/src/widgets/framework.dart:3531)
#97     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3658)
#98     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3653)
#99     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#100    Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#101    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4796)
#102    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#103    Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#104    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3689)
#105    Element.rebuild (package:flutter/src/widgets/framework.dart:3531)
#106    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3658)
#107    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3805)
#108    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3653)
#109    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#110    Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#111    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3689)
#112    Element.rebuild (package:flutter/src/widgets/framework.dart:3531)
#113    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3658)
#114    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3653)
#115    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#116    Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#117    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4796)
#118    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#119    Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#120    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3689)
#121    Element.rebuild (package:flutter/src/widgets/framework.dart:3531)
#122    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3658)
#123    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3653)
#124    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#125    Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#126    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3689)
#127    Element.rebuild (package:flutter/src/widgets/framework.dart:3531)
#128    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3658)
#129    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3805)
#130    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3653)
#131    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#132    Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#133    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3689)
#134    Element.rebuild (package:flutter/src/widgets/framework.dart:3531)
#135    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3658)
#136    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3805)
#137    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3653)
#138    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2937)
#139    Element.updateChild (package:flutter/src/widgets/framework.dart:2740)
#140    RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4579)
#141    MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4911)
#142    Element.updateChild (package:flutter/src/widgets/framework.dart:2729)
#143    _TheatreElement.update (package:flutter/src/widgets/overlay.dart:507)
#144    Element.updateChild (package:flutter/src/widgets/framework.dart:2729)
#145    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3689)
#146    Element.rebuild (package:flutter/src/widgets/framework.dart:3531)
#147    StatefulElement.update (package:flutter/src/widgets/framework.dart:3835)
#148    Element.updateChild (package:flutter/src/widgets/framework.dart:2729)
#149    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3689)
#150    Element.rebuild (package:flutter/src/widgets/framework.dart:3531)
#151    ProxyElement.update (package:flutter/src/widgets/framework.dart:3947)
#152    Element.updateChild (package:flutter/src/widgets/framework.dart:2729)
#153    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4803)
#154    Element.updateChild (package:flutter/src/widgets/framework.dart:2729)
#155    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3689)
#156    Element.rebuild (package:flutter/src/widgets/framework.dart:3531)
#157    StatefulElement.update (package:flutter/src/widgets/framework.dart:3835)
#158    Element.updateChild (package:flutter/src/widgets/framework.dart:2729)
#159    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4803)
#160    Element.updateChild (package:flutter/src/widgets/framework.dart:2729)
#161    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4803)
#162    Element.updateChild (package:flutter/src/widgets/framework.dart:2729)
#163    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3689)
#164    Element.rebuild (package:flutter/src/widgets/framework.dart:3531)
#165    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2273)
#166    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:662)
#167    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:223)
#168    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:994)
#169    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:934)
#170    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:846)
#171    _invoke (dart:ui/hooks.dart:139)
#172    _drawFrame (dart:ui/hooks.dart:128)

Any ideas?

编译报错,这个是什么问题

Launching lib/main.dart on iPhone 11 Pro in debug mode...
Running pod install...
CocoaPods' output:

Preparing

Analyzing dependencies

Inspecting targets to integrate
  CDN: trunk Relative path: CocoaPods-version.yml exists! Returning local because checking is only perfomed in repo update

――― MARKDOWN TEMPLATE ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

### Command

```
/usr/local/bin/pod install --verbose
```

### Report

* What did you do?

* What did you expect to happen?

* What happened instead?


### Stack

```
   CocoaPods : 1.8.3
        Ruby : ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]
    RubyGems : 3.0.3
        Host : Mac OS X 10.15 (19A582a)
       Xcode : 11.0 (11A420a)
         Git : git version 2.23.0
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib
Repositories : master - git - https://github.com/CocoaPods/Specs.git @ c83399f587189a26411ef23be8827c0e16cb4879
               trunk - CDN - https://cdn.cocoapods.org/
```

### Plugins

```
cocoapods-deintegrate : 1.0.4
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.0
cocoapods-stats       : 1.1.0
cocoapods-trunk       : 1.4.1
cocoapods-try         : 1.1.0
```

### Podfile

```ruby
# Using a CDN with CocoaPods 1.7.2 or later can save a lot of time on pod installation, but it's experimental rather than the default.
# source 'https://cdn.cocoapods.org/'

# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
  'Debug' => :debug,
  'Profile' => :release,
  'Release' => :release,
}

def parse_KV_file(file, separator='=')
  file_abs_path = File.expand_path(file)
  if !File.exists? file_abs_path
    return [];
  end
  pods_ary = []
  skip_line_start_symbols = ["#", "/"]
  File.foreach(file_abs_path) { |line|
      next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ }
      plugin = line.split(pattern=separator)
      if plugin.length == 2
        podname = plugin[0].strip()
        path = plugin[1].strip()
        podpath = File.expand_path("#{path}", file_abs_path)
        pods_ary.push({:name => podname, :path => podpath});
      else
        puts "Invalid plugin specification: #{line}"
      end
  }
  return pods_ary
end

target 'Runner' do
  use_frameworks!

  # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
  # referring to absolute paths on developers' machines.
  system('rm -rf .symlinks')
  system('mkdir -p .symlinks/plugins')

  # Flutter Pods
  generated_xcode_build_settings = parse_KV_file('./Flutter/Generated.xcconfig')
  if generated_xcode_build_settings.empty?
    puts "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first."
  end
  generated_xcode_build_settings.map { |p|
    if p[:name] == 'FLUTTER_FRAMEWORK_DIR'
      symlink = File.join('.symlinks', 'flutter')
      File.symlink(File.dirname(p[:path]), symlink)
      pod 'Flutter', :path => File.join(symlink, File.basename(p[:path]))
    end
  }

  # Plugin Pods
  plugin_pods = parse_KV_file('../.flutter-plugins')
  plugin_pods.map { |p|
    symlink = File.join('.symlinks', 'plugins', p[:name])
    File.symlink(p[:path], symlink)
    pod p[:name], :path => File.join(symlink, 'ios')
  }
end

# Prevent Cocoapods from embedding a second Flutter framework and causing an error with the new Xcode build system.
install! 'cocoapods', :disable_input_output_paths => true

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
    end
  end
end
```

### Error

```
ArgumentError - invalid byte sequence in US-ASCII
/Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.12.0/lib/xcodeproj/plist.rb:91:in `match'
/Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.12.0/lib/xcodeproj/plist.rb:91:in `match'
/Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.12.0/lib/xcodeproj/plist.rb:91:in `file_in_conflict?'
/Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.12.0/lib/xcodeproj/plist.rb:20:in `read_from_path'
/Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.12.0/lib/xcodeproj/project.rb:210:in `initialize_from_file'
/Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.12.0/lib/xcodeproj/project.rb:112:in `open'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.3/lib/cocoapods/installer/analyzer.rb:1098:in `block (2 levels) in inspect_targets_to_integrate'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.3/lib/cocoapods/installer/analyzer.rb:1097:in `each'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.3/lib/cocoapods/installer/analyzer.rb:1097:in `block in inspect_targets_to_integrate'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.3/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.3/lib/cocoapods/installer/analyzer.rb:1092:in `inspect_targets_to_integrate'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.3/lib/cocoapods/installer/analyzer.rb:106:in `analyze'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.3/lib/cocoapods/installer.rb:410:in `analyze'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.3/lib/cocoapods/installer.rb:234:in `block in resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.3/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.3/lib/cocoapods/installer.rb:233:in `resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.3/lib/cocoapods/installer.rb:156:in `install!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.3/lib/cocoapods/command/install.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.3/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.3/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'
```

――― TEMPLATE END ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

[!] Oh no, an error occurred.

Search for existing GitHub issues similar to yours:
https://github.com/CocoaPods/CocoaPods/search?q=invalid+byte+sequence+in+US-ASCII&type=Issues

If none exists, create a ticket, with the template displayed above, on:
https://github.com/CocoaPods/CocoaPods/issues/new

Be sure to first read the contributing guide for details on how to properly submit a ticket:
https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md

Don't forget to anonymize any private data!

Looking for related issues on cocoapods/cocoapods...
 - Pod Install failed
   https://github.com/CocoaPods/CocoaPods/issues/9222 [closed] [3 comments]
   a week ago

 - Error while setting up CocoaPods
   https://github.com/CocoaPods/CocoaPods/issues/5979 [closed] [23 comments]
   06 Dec 2018

 - invalid byte sequence in US-ASCII
   https://github.com/CocoaPods/CocoaPods/issues/1036 [closed] [9 comments]
   08 Jun 2017

and 15 more at:
https://github.com/cocoapods/cocoapods/search?q=invalid%20byte%20sequence%20in%20US-ASCII&type=Issues&utf8=✓

Error output from CocoaPods:

�[33mWARNING: CocoaPods requires your terminal to be using UTF-8 encoding.
Consider adding the following to ~/.profile:

    export LANG=en_US.UTF-8
    �[0m

Error running pod install
Error launching application on iPhone 11 Pro.

添加输入框后点击图片选择器内容丢失

Container(
        child: SingleChildScrollView(
          child: Column(
            children: <Widget>[
            //   在这里
              new TextField(),
              IconTextButton(
                  icon: Icons.photo,
                  text: "photo",
                  onTap: () => _pickAsset(PickType.onlyImage)),
              IconTextButton(
                  icon: Icons.videocam,
                  text: "video",
                  onTap: () => _pickAsset(PickType.onlyVideo)),
              IconTextButton(
                  icon: Icons.album,
                  text: "all",
                  onTap: () => _pickAsset(PickType.all)),
              Text(
                '$currentSelected',
                textAlign: TextAlign.center,
              ),
            ],
          ),
        ),
      ),

The method '_mulFromInteger' was called on null.

Hi,
I'm using the library in this way:

  1. I get the list of folder with
    List<AssetPathEntity> pathList = await PhotoManager.getImageAsset();
  2. I save the ID of some pics in a database
for (AssetEntity pic in pathList.first) {
  String id=pic.id; 
  //then save id on the db
}
  1. In another part of the app, I read the IDs from the db and I try to display the pic using the AssetEntity:
String picID= /*read from db*/;
Container(
          child: ImageItem(
            entity: new AssetEntity(id: picID),
            size: widget.picSize, //dynamic size
            loadingDelegate: DefaultLoadingDelegate(),
            badgeDelegate: DefaultBadgeDelegate(),
          )
)

Then I get this error:

The method '_mulFromInteger' was called on null.
Receiver: null
Tried calling: _mulFromInteger(1000000)

that is proprably from the method Widget _buildImageItem(BuildContext context, Uint8List data) in image_item.dart from the line:

final badgeBuilder = badgeDelegate?.buildBadge(context, entity.type, entity.videoDuration);

Maybe a possible fix is in entity.dart:
Duration get videoDuration => Duration(seconds: duration ?? 0);

What do you think?

List Devices albums first ?

Would it be possible with your API to list Device albums first (currently he tries to create the 22k list of my whole image library without asking for album)

在运行的时候报错。单独运行您的demo正常。

在运行的时候报错。
`ע: D:\Tools\flutter.pub-cache\hosted\pub.dartlang.org\photo_manager-0.3.5\android\src\main\kotlin\top\kikt\imagescanner\PermissionsUtils.javaʹ�û򸲸����ѹ�ʱ�� API��
ע: �й���ϸ��Ϣ, ��ʹ�� -Xlint:deprecation ���±��롣
D8: Program type already present: android.support.v4.os.ResultReceiver$1

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.

com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\225.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\180.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\103.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\72.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\118.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\23.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\5.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\45.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\6.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\168.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\125.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\231.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\253.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\219.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\226.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\218.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\188.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\181.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\18.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\153.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\230.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\38.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\46.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\173.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\126.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\93.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\58.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\76.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\74.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\227.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\68.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\148.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\123.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\53.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\193.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\133.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\26.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\43.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\75.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\83.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\163.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\178.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\4.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\213.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\124.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\98.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\27.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\44.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\243.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\200.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\235.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\258.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\229.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\220.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\136.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\179.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\263.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\84.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\221.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\108.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\13.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\236.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\137.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\234.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\77.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\85.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\222.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\113.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\199.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\237.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\33.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\25.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\202.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\134.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\182.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\70.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\47.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\86.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\69.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\127.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\24.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\208.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\201.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\198.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\232.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\135.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\71.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\7.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\158.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\248.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\143.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\63.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\87.jar, D:\App\photo_picker_app\build\app\intermediates\transforms\dexBuilder\debug\224.jar
Program type already present: android.support.v4.os.ResultReceiver$1
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 1m 16s


The Gradle failure may have been because of AndroidX incompatibilities in this Flutter app.
See https://goo.gl/CP92wY for more information on the problem and how to fix it.


Finished with error: Gradle task assembleDebug failed with exit code 1`

Always load

[✓] Flutter (Channel stable, v1.9.1+hotfix.2, on Mac OS X 10.14.6 18G95, locale
zh-Hans-CN)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 10.3)
[✓] Android Studio (version 3.4)
[✓] IntelliJ IDEA Ultimate Edition (version 2019.2.1)
[✓] VS Code (version 1.38.1)
[✓] Connected device (1 available)

use photo: ^0.4.2+1 always load.
WechatIMG1
Click on the black blank of the left foot to select the image.
WechatIMG9
I hope the author can help me.
use photo: ^0.3.4+1 No problem at all.
thanks

Bad state: Snapshot has neither data nor error in photo_main_page.dart

Hi,
Every time I load the picker I receive the following error:

> I/flutter (19377): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
> I/flutter (19377): The following StateError was thrown building FutureBuilder<Uint8List>(dirty, state:
> I/flutter (19377): _FutureBuilderState<Uint8List>#8dd85):
> I/flutter (19377): Bad state: Snapshot has neither data nor error
> I/flutter (19377): 
> I/flutter (19377): User-created ancestor of the error-causing widget was:
> I/flutter (19377):   ImageItem
> I/flutter (19377):   file:///Users/leonardorignanese/Progetti/Flutter/MyGrandKids/my_grand_kids/photo-0.3.4+1_custom/lib/src/ui/page/photo_main_page.dart:300:13
> I/flutter (19377): 
> I/flutter (19377): When the exception was thrown, this was the stack:
> I/flutter (19377): #0      AsyncSnapshot.data (package:flutter/src/widgets/async.dart:263:5)
> I/flutter (19377): #1      ImageItem.build.<anonymous closure> (package:photo/src/ui/page/main/image_item.dart:33:35)
> I/flutter (19377): #2      _FutureBuilderState.build (package:flutter/src/widgets/async.dart)
> I/flutter (19377): #3      StatefulElement.build (package:flutter/src/widgets/framework.dart:4039:27)
> I/flutter (19377): #4      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3933:15)
> I/flutter (19377): #5      Element.rebuild (package:flutter/src/widgets/framework.dart:3730:5)
> I/flutter (19377): #6      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3916:5)
> I/flutter (19377): #7      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4080:11)
> I/flutter (19377): #8      ComponentElement.mount (package:flutter/src/widgets/framework.dart:3911:5)
> I/flutter (19377): #9      Element.inflateWidget (package:flutter/src/widgets/framework.dart:3093:14)
> I/flutter (19377): #10     Element.updateChild (package:flutter/src/widgets/framework.dart:2896:12)
> I/flutter (19377): #11     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3953:16)
> I/flutter (19377): #12     Element.rebuild (package:flutter/src/widgets/framework.dart:3730:5)
> I/flutter (19377): #13     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3916:5)
> I/flutter (19377): #14     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3911:5)
> I/flutter (19377): #15     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3093:14)
> I/flutter (19377): #16     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5225:32)
> I/flutter (19377): #17     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3093:14)
> I/flutter (19377): #18     Element.updateChild (package:flutter/src/widgets/framework.dart:2896:12)
> I/flutter (19377): #19     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5119:14)
> I/flutter (19377): #20     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3093:14)
> I/flutter (19377): #21     Element.updateChild (package:flutter/src/widgets/framework.dart:2896:12)
> I/flutter (19377): #22     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5119:14)
> I/flutter (19377): #23     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3093:14)
> I/flutter (19377): #24     Element.updateChild (package:flutter/src/widgets/framework.dart:2896:12)
> I/flutter (19377): #25     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3953:16)
> I/flutter (19377): #26     Element.rebuild (package:flutter/src/widgets/framework.dart:3730:5)
> I/flutter (19377): #27     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3916:5)
> I/flutter (19377): #28     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4080:11)
> I/flutter (19377): #29     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3911:5)
> I/flutter (19377): #30     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3093:14)
> I/flutter (19377): #31     Element.updateChild (package:flutter/src/widgets/framework.dart:2896:12)
> I/flutter (19377): #32     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3953:16)
> I/flutter (19377): #33     Element.rebuild (package:flutter/src/widgets/framework.dart:3730:5)
> I/flutter (19377): #34     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3916:5)
> I/flutter (19377): #35     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3911:5)
> I/flutter (19377): #36     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3093:14)
> I/flutter (19377): #37     Element.updateChild (package:flutter/src/widgets/framework.dart:2896:12)
> I/flutter (19377): #38     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5119:14)
> I/flutter (19377): #39     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3093:14)
> I/flutter (19377): #40     Element.updateChild (package:flutter/src/widgets/framework.dart:2896:12)
> I/flutter (19377): #41     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5119:14)
> I/flutter (19377): #42     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3093:14)
> I/flutter (19377): #43     Element.updateChild (package:flutter/src/widgets/framework.dart:2896:12)
> I/flutter (19377): #44     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5119:14)
> I/flutter (19377): #45     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3093:14)
> I/flutter (19377): #46     Element.updateChild (package:flutter/src/widgets/framework.dart:2896:12)
> I/flutter (19377): #47     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3953:16)
> I/flutter (19377): #48     Element.rebuild (package:flutter/src/widgets/framework.dart:3730:5)
> I/flutter (19377): #49     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3916:5)
> I/flutter (19377): #50     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3911:5)
> I/flutter (19377): #51     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3093:14)
> I/flutter (19377): #52     Element.updateChild (package:flutter/src/widgets/framework.dart:2896:12)
> I/flutter (19377): #53     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3953:16)
> I/flutter (19377): #54     Element.rebuild (package:flutter/src/widgets/framework.dart:3730:5)
> I/flutter (19377): #55     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3916:5)
> I/flutter (19377): #56     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3911:5)
> I/flutter (19377): #57     ParentDataElement.mount (package:flutter/src/widgets/framework.dart:4306:11)
> I/flutter (19377): #58     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3093:14)
> I/flutter (19377): #59     Element.updateChild (package:flutter/src/widgets/framework.dart:2896:12)
> I/flutter (19377): #60     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3953:16)
> I/flutter (19377): #61     Element.rebuild (package:flutter/src/widgets/framework.dart:3730:5)
> I/flutter (19377): #62     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3916:5)
> I/flutter (19377): #63     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4080:11)
> I/flutter (19377): #64     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3911:5)
> I/flutter (19377): #65     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3093:14)
> I/flutter (19377): #66     Element.updateChild (package:flutter/src/widgets/framework.dart:2896:12)
> I/flutter (19377): #67     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3953:16)
> I/flutter (19377): #68     Element.rebuild (package:flutter/src/widgets/framework.dart:3730:5)
> I/flutter (19377): #69     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3916:5)
> I/flutter (19377): #70     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3911:5)
> I/flutter (19377): #71     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3093:14)
> I/flutter (19377): #72     Element.updateChild (package:flutter/src/widgets/framework.dart:2896:12)
> I/flutter (19377): #73     SliverMultiBoxAdaptorElement.updateChild (package:flutter/src/widgets/sliver.dart:1181:36)
> I/flutter (19377): #74     SliverMultiBoxAdaptorElement.createChild.<anonymous closure> (package:flutter/src/widgets/sliver.dart:1166:20)
> I/flutter (19377): #75     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2320:19)
> I/flutter (19377): #76     SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:1159:11)
> I/flutter (19377): #77     RenderSliverMultiBoxAdaptor._createOrObtainChild.<anonymous closure> (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:354:23)
> I/flutter (19377): #78     RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:1735:58)
> I/flutter (19377): #79     PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:814:15)
> I/flutter (19377): #80     RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:1735:13)
> I/flutter (19377): #81     RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:343:5)
> I/flutter (19377): #82     RenderSliverMultiBoxAdaptor.addInitialChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:427:5)
> I/flutter (19377): #83     RenderSliverGrid.performLayout (package:flutter/src/rendering/sliver_grid.dart:543:12)
> I/flutter (19377): #84     RenderObject.layout (package:flutter/src/rendering/object.dart:1639:7)
> I/flutter (19377): #85     RenderSliverPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:181:11)
> I/flutter (19377): #86     RenderObject.layout (package:flutter/src/rendering/object.dart:1639:7)
> I/flutter (19377): #87     RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:406:13)
> I/flutter (19377): #88     RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1334:12)
> I/flutter (19377): #89     RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1252:20)
> I/flutter (19377): #90     RenderObject.layout (package:flutter/src/rendering/object.dart:1639:7)
> I/flutter (19377): #91     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
> I/flutter (19377): #92     RenderObject.layout (package:flutter/src/rendering/object.dart:1639:7)
> I/flutter (19377): #93     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
> I/flutter (19377): #94     RenderObject.layout (package:flutter/src/rendering/object.dart:1639:7)
> I/flutter (19377): #95     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
> I/flutter (19377): #96     RenderObject.layout (package:flutter/src/rendering/object.dart:1639:7)
> I/flutter (19377): #97     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
> I/flutter (19377): #98     RenderObject.layout (package:flutter/src/rendering/object.dart:1639:7)
> I/flutter (19377): #99     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
> I/flutter (19377): #100    RenderObject.layout (package:flutter/src/rendering/object.dart:1639:7)
> I/flutter (19377): #101    _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
> I/flutter (19377): #102    RenderObject.layout (package:flutter/src/rendering/object.dart:1639:7)
> I/flutter (19377): #103    _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
> I/flutter (19377): #104    RenderObject.layout (package:flutter/src/rendering/object.dart:1639:7)
> I/flutter (19377): #105    _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
> I/flutter (19377): #106    RenderObject.layout (package:flutter/src/rendering/object.dart:1639:7)
> I/flutter (19377): #107    _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
> I/flutter (19377): #108    RenderObject.layout (package:flutter/src/rendering/object.dart:1639:7)
> I/flutter (19377): #109    _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
> I/flutter (19377): #110    RenderObject.layout (package:flutter/src/rendering/object.dart:1639:7)
> I/flutter (19377): #111    MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:142:11)
> I/flutter (19377): #112    _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:443:7)
> I/flutter (19377): #113    MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:212:7)
> I/flutter (19377): #114    RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:356:14)
> I/flutter (19377): #115    RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1516:7)
> I/flutter (19377): #116    PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:783:18)
> I/flutter (19377): #117    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:346:19)
> I/flutter (19377): #118    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:702:13)
> I/flutter (19377): #119    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:285:5)
> I/flutter (19377): #120    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1033:15)
> I/flutter (19377): #121    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:975:9)
> I/flutter (19377): #122    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:891:5)
> W/ExifInterface(19377): Skip the tag entry since tag number is not defined: 2
> I/flutter (19377): #126    _invoke (dart:ui/hooks.dart:236:10)
> I/flutter (19377): #127    _drawFrame (dart:ui/hooks.dart:194:3)
> I/flutter (19377): (elided 3 frames from package dart:async)
> I/flutter (19377): 
> I/flutter (19377): ════════════════════════════════════════════════════════════════════════════════════════════════════

I've fully imported your library inside my project (copying all the files) because I needed to make some customizations in the UI. I don't think this error is related to my small modifications (just added a translation and a button in the bottombar).

It just in the log and I don't see any big malfunction apart the fact that if I scroll down fast, the pictures before are red showing an error, but then quickly refresh to show the picture:
IMAGE 2019-07-22 09:56:02

What does this error come from? I can't really understand it. I checked if the data is null or empty before execute it but I get the anyway so I suppose it is caused by another error inside data.

Thanks

error, 设置PickType.all的时候 , 功能需求

运行时

执行方法是直接复制官方demo: https://github.com/CaiJingLong/flutter_photo/blob/master/example/lib/main.dart#L112

当设置 type = PickType.all 产生异常, 另外两个正常.
image

环境

image

需要 rootNavigator 参数,确保是全屏展示的选择页面。

APP需要底部一直置底,如图就没盖住底部的4个TabItem(实现方式类似: https://medium.com/coding-with-flutter/flutter-case-study-multiple-navigators-with-bottomnavigationbar-90eb6caa6dbf

image

竖屏视频在预览的时候没有上下居中,表现为Alignment(0, -1)(横屏的视频正常)?

预览视频的时候支持播放查看吗?

How to Change Language?

I am new student to learn flutter.

Can you add codes or guides in your documentation files where i can change the language from Chinese to English?

Thank you for making great project!

选择图片后,显示为空白

使用控件选择图片后,显示空白。
可能原因是,ios从cloud云下载图片后,就无法显示。请问是什么原因

HDR格式图片支持

选中HDR格式的图片,退出该组件后用FileImage(File(path)),无法显示,error: Failed decoding image. Data is either invalid, or it is encoded using an unsupported format.
simulator screen shot - iphone x - 2019-03-06 at 17 19 39

Support iOS Cloud Photo Library

Will you be adding support for this? seems to break with a _codec issue if image has not been downloaded to the device! Thanks for all the hard work!

How to sort by time

How to sort by time?
如何按照时间顺序,最新的照片在第一张显示

Bug

[VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: inheritFromWidgetOfExactType(PhotoPickerProvider) or inheritFromElement() was called before _PhotoMainPageState.initState() completed. When an inherited widget changes, for example if the value of Theme.of() changes, its dependent widgets are rebuilt. If the dependent widget's reference to the inherited widget is in a constructor or an initState() method, then the rebuilt dependent widget will not reflect the changes in the inherited widget. Typically references to inherited widgets should occur in widget build() methods. Alternatively, initialization based on inherited widgets can be placed in the didChangeDependencies method, which is called after initState and whenever the dependencies change thereafter.

after click _testPhotoListParams function on iOS and preview not working. First he lists the old photos. Old to new. How can i order by new to old.

Another Bug after select photo
[VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: type '_Uint8ArrayView' is not a subtype of type 'String'
Ekran Resmi 2019-09-13 18 27 37

Another bug

Unhandled Exception: NoSuchMethodError: The getter 'index' was called on null.

Please try this library example with version 0.4.0. You will see errors.

你好,用了该类之后用不了simplepermission的类.应该是获取权限返回冲突了.

java.lang.RuntimeException: Failure delivering result ResultInfo{who=@android:requestPermissions:, request=0, result=-1, data=Intent { act=android.content.pm.action.REQUEST_PERMISSIONS (has extras) }} to activity {com.darry.ring/com.example.flutterapp.MainActivity}: java.lang.NullPointerException: Attempt to invoke interface method 'void top.kikt.imagescanner.PermissionsListener.onGranted()' on a null object reference
E/AndroidRuntime(31144): at android.app.ActivityThread.deliverResults(ActivityThread.java:4932)
E/AndroidRuntime(31144): at android.app.ActivityThread.handleSendResult(ActivityThread.java:4975)
E/AndroidRuntime(31144): at android.app.ActivityThread.-wrap20(Unknown Source:0)
E/AndroidRuntime(31144): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1950)
E/AndroidRuntime(31144): at android.os.Handler.dispatchMessage(Handler.java:108)
E/AndroidRuntime(31144): at android.os.Looper.loop(Looper.java:166)
E/AndroidRuntime(31144): at android.app.ActivityThread.main(ActivityThread.java:7425)
E/AndroidRuntime(31144): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(31144): at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
E/AndroidRuntime(31144): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)
E/AndroidRuntime(31144): Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void top.kikt.imagescanner.PermissionsListener.onGranted()' on a null object reference
E/AndroidRuntime(31144): at top.kikt.imagescanner.PermissionsUtils.dealResult(PermissionsUtils.java:204)
E/AndroidRuntime(31144): at top.kikt.imagescanner.ImageScannerPlugin$1.onRequestPermissionsResult(ImageScannerPlugin.kt:26)
E/AndroidRuntime(31144): at io.flutter.app.FlutterPluginRegistry.onRequestPermissionsResult(FlutterPluginRegistry.java:191)
E/AndroidRuntime(31144): at io.flutter.app.FlutterActivityDelegate.onRequestPermissionsResult(FlutterActivityDelegate.java:125)
E/AndroidRuntime(31144): at io.flutter.app.FlutterActivity.onRequestPermissionsResult(FlutterActivity.java:133)
E/AndroidRuntime(31144): at android.app.Activity.dispatchRequestPermissionsResult(Activity.java:7843)
E/AndroidRuntime(31144): at android.app.Activity.dispatchActivityResult(Activity.java:7694)
E/AndroidRuntime(31144): at android.app.ActivityThread.deliverResults(ActivityThread.java:4928)
E/AndroidRuntime(31144): ... 9 more

How to include the picker in a scaffold?

This plugin is very powerful but in my opinion it has some limitations that cut its potential.
For example I'd like to use the picture grid in my homepage (in my Scaffold) and handle the selected picture in 3 different ways : import, share, delete.

How can I do that?
I know I can copy the code and totally import this library in my project and then adapt it to my case but in this way I'm worried to be unable to follow the flow of updates that the dev will release.
Is there a "safe" way you suggest?

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.