Android 将Firebase和FileProvider与构建变体一起使用
我正在使用Firebase的构建变体,我的应用程序还需要使用FileProvider来共享要在第三方应用程序中打开的应用程序文件。 但是,当我试图在intent中发送URI时,应用程序崩溃,出现以下错误Android 将Firebase和FileProvider与构建变体一起使用,android,firebase,android-fileprovider,Android,Firebase,Android Fileprovider,我正在使用Firebase的构建变体,我的应用程序还需要使用FileProvider来共享要在第三方应用程序中打开的应用程序文件。 但是,当我试图在intent中发送URI时,应用程序崩溃,出现以下错误 错误:java.lang.IllegalArgumentException:未能找到包含/storage/emulated/0/Android/data/com.example.debug/files/Pictures/JPEG\u 20170919\u 113955\u 102027655.j
错误:java.lang.IllegalArgumentException:未能找到包含/storage/emulated/0/Android/data/com.example.debug/files/Pictures/JPEG\u 20170919\u 113955\u 102027655.jpg的配置根目录
这是我的配置
stringauthority=getString(R.String.authority\u provider);
Uri fileUri=FileProvider.getUriForFile(上下文、权限、文件);
- 将文件提供程序添加到应用程序标记内部的AndroidManifest.xml中:
文件路径.xml
Firebase
要求使用2个应用程序ID在Firebase控制台中单独保存崩溃日志和分析
- String:authority\u provider-添加到build.gradle(应用程序)中:
构建类型{ 释放{ --- applicationIdSuffix“com.example” resValue“string”、“authority\u provider”、“com.example.fileprovider” --- } 调试{ --- applicationIdSuffix'.debug' resValue“string”、“authority\u provider”、“com.example.debug.fileprovider” --- } }
- 文件:将文件创建到ExternalFilesDir中,并将下载的数据保存到其中,然后使用相同的文件对象获取URI
File storageDir=context.getExternalFilesDir(Environment.DIRECTORY\u图片); File File=File.createTempFile(文件名、文件扩展名、storageDir)代码>
name=“my_images”
。你有两次。对于不同的路径。不好的。请使用不同的名称并使用path=“”。谢谢您的帮助。但找到了更好更安全的解决方案。只需将文件_paths.xml的代码替换为以下内容: