LuckSiege / PictureSelector

Picture Selector Library for Android or 图片选择器
Apache License 2.0
13.26k stars 3k forks source link

v2.2.0版本,vivo x9s plus 拍照打开相机奔溃, #539

Closed ouyangmingzhuanyong closed 4 years ago

ouyangmingzhuanyong commented 6 years ago

1504 java.lang.IllegalArgumentException

Failed to find configured root that contains /storage/emulated/0/PictureSelector/CameraImage/PictureSelector_20180701_092345.JPEG com.luck.picture.lib.PictureSelectorActivity.parUri(PictureSelectorActivity.java:452) --------------------报错详细信息------------------------------------------ 1 android.support.v4.content.FileProvider$SimplePathStrategy.getUriForFile(FileProvider.java:719)

2 android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:404) 3 com.luck.picture.lib.PictureSelectorActivity.parUri(PictureSelectorActivity.java:452) 4 com.luck.picture.lib.PictureSelectorActivity.startOpenCamera(PictureSelectorActivity.java:380) 5 com.luck.picture.lib.PictureSelectorActivity.startCamera(PictureSelectorActivity.java:355) 6 com.luck.picture.lib.PictureSelectorActivity$10.onNext(PictureSelectorActivity.java:761) 7 com.luck.picture.lib.PictureSelectorActivity$10.onNext(PictureSelectorActivity.java:752) 8 io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.tryEmitScalar(ObservableFlatMap.java:234) 9 io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.subscribeInner(ObservableFlatMap.java:146) 10 io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.onNext(ObservableFlatMap.java:139) 11 io.reactivex.internal.operators.observable.ObservableBuffer$BufferExactObserver.onNext(ObservableBuffer.java:113) 12 io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.tryEmit(ObservableFlatMap.java:262) 13 io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.onNext(ObservableFlatMap.java:554) 14 io.reactivex.observers.SerializedObserver.onNext(SerializedObserver.java:111) 15 io.reactivex.internal.operators.observable.ObservableConcatMap$SourceObserver$InnerObserver.onNext(ObservableConcatMap.java:249) 16 io.reactivex.internal.operators.observable.ObservableScalarXMap$ScalarDisposable.run(ObservableScalarXMap.java:246) 17 io.reactivex.internal.operators.observable.ObservableJust.subscribeActual(ObservableJust.java:35) 18 io.reactivex.Observable.subscribe(Observable.java:10685) 19 io.reactivex.internal.operators.observable.ObservableConcatMap$SourceObserver.drain(ObservableConcatMap.java:223) 20 io.reactivex.internal.operators.observable.ObservableConcatMap$SourceObserver.onSubscribe(ObservableConcatMap.java:103) 21 io.reactivex.internal.operators.observable.ObservableFromIterable.subscribeActual(ObservableFromIterable.java:54) 22 io.reactivex.Observable.subscribe(Observable.java:10685) 23 io.reactivex.internal.operators.observable.ObservableConcatMap.subscribeActual(ObservableConcatMap.java:52) 24 io.reactivex.Observable.subscribe(Observable.java:10685) 25 io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.subscribeInner(ObservableFlatMap.java:162) 26 io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.onNext(ObservableFlatMap.java:139) 27 io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.tryEmitScalar(ObservableFlatMap.java:234) 28 io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.subscribeInner(ObservableFlatMap.java:146) 29 io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.onNext(ObservableFlatMap.java:139) 30 io.reactivex.internal.operators.observable.ObservableFromArray$FromArrayDisposable.run(ObservableFromArray.java:105) 31 io.reactivex.internal.operators.observable.ObservableFromArray.subscribeActual(ObservableFromArray.java:35) 32 io.reactivex.Observable.subscribe(Observable.java:10685) 33 io.reactivex.internal.operators.observable.ObservableFlatMap.subscribeActual(ObservableFlatMap.java:55) 34 io.reactivex.Observable.subscribe(Observable.java:10685) 35 io.reactivex.internal.operators.observable.ObservableFlatMap.subscribeActual(ObservableFlatMap.java:55) 36 io.reactivex.Observable.subscribe(Observable.java:10685) 37 io.reactivex.internal.operators.observable.ObservableBuffer.subscribeActual(ObservableBuffer.java:44) 38 io.reactivex.Observable.subscribe(Observable.java:10685) 39 io.reactivex.internal.operators.observable.ObservableFlatMap.subscribeActual(ObservableFlatMap.java:55) 40 io.reactivex.Observable.subscribe(Observable.java:10685) 41 com.luck.picture.lib.PictureSelectorActivity.onTakePhoto(PictureSelectorActivity.java:752) 42 com.luck.picture.lib.adapter.PictureImageGridAdapter$1.onClick(PictureImageGridAdapter.java:152) 43 android.view.View.performClick(View.java:5646) 44 android.view.View$PerformClick.run(View.java:22498) 45 android.os.Handler.handleCallback(Handler.java:751) 46 android.os.Handler.dispatchMessage(Handler.java:95) 47 android.os.Looper.loop(Looper.java:181) 48 android.app.ActivityThread.main(ActivityThread.java:6285) 49 java.lang.reflect.Method.invoke(Native Method) 50 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 51 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:793)

ouyangmingzhuanyong commented 6 years ago

是我自己的问题,,在filepath加上

就可以了

captain-miao commented 5 years ago

App 中定义了 provider,而且文件名file_paths,原因:"@xml/file_paths" 文件名重复,被覆盖。 方法一: 修改名称:xxxx_file_paths 方法二: 自己定义了的provider,把 file_paths 做个合并

        <provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="${applicationId}.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths"/>
        </provider>

PictureSelector file_paths 的内容

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <paths>
        <external-path
            name="camera_photos"
            path="" />
    </paths>
</resources>
AndSync commented 5 years ago

崩溃 不是奔溃