Matisse
Matisse copied to clipboard
打开相册后,点击拍照崩溃,Couldn't find meta-data for provider with authority ”packageName“.fileprovider
Describe the bug 打开相册后,点击拍一张,发生崩溃
To Reproduce Steps to reproduce the behavior:
- Go to 'album'
- Click on 'take a picture'
- No sliding
- See error: java.lang.IllegalArgumentException : Couldn't find meta-data for provider with authority com.yaxiruisi.tik .fileprovider At androidx.core.content . FileProvider.parsePathStrategy ( FileProvider.java:606 ) At androidx.core.content . FileProvider.getPathStrategy ( FileProvider.java:579 ) At androidx.core.content . FileProvider.getUriForFile ( FileProvider.java:417 ) At com.zhihu.matisse . internal.utils.MediaStoreCompat .dispatchCaptureIntent( MediaStoreCompat.java:86 ) At com.zhihu.matisse . ui.MatisseActivity.capture ( MatisseActivity.java:433 ) At com.zhihu.matisse . internal.ui.adapter .AlbumMediaAdapter$1.onClick( AlbumMediaAdapter.java:75 ) At android.view.View .performClick( View.java:6291 ) At android.view.View $ PerformClick.run ( View.java:24931 ) At android.os.Handler .handleCallback( Handler.java:808 ) At android.os.Handler .dispatchMessage( Handler.java:101 ) At android.os.Looper .loop( Looper.java:166 ) At android.app.ActivityThread .main( ActivityThread.java:7529 ) At java.lang.reflect . Method.invoke (Native Method) At com.android.internal . os.Zygote $ MethodAndArgsCaller.run ( Zygote.java:245 ) At com.android.internal . os.ZygoteInit.main ( ZygoteInit.java:921 )
Expected behavior 点击拍一张,应该是调起相机而不是崩溃
Screenshots If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):
- Device: [e.g. HUAWEI LDN-L21]
- OS: [e.g. Android 8.0]
- Version [e.g. 0.5.3-beta3]
Additional context Add any other context about the problem here.
我想咱俩情况应该一样 咱们用的是AndoridX 而库里所导入的包是 v4
//这两行要连用 是否在选择图片中展示照相 和适配安卓7.0 FileProvider .capture(true) //安卓7.0 FileProvider .captureStrategy(new CaptureStrategy(true, AppUtils.getApplicationId()+".fileprovider"))
相机7.0以后需要配置自己的FileProvider,大致步骤如下: AndroidX环境,V0.5.3-beta3 step1:
.capture(true)
.captureStrategy(new CaptureStrategy(true, BuildConfig.APPLICATION_ID))
step2:res->xml目录下创建file_path.xml res->xml->file_path.xml
<?xml version="1.0" encoding="utf-8"?>
<paths>
<external-path
name="office"
path="." />
</paths>
step3:AndroidManifest.xml中注册注册provider
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="你的APPLICATION_ID"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_path" />
</provider>