如何设置 android:authorities 进行测试?
how to set up android:authorities for testing?
我有以下源代码:
FileProvider.getUriForFile(activity, activity.getPackageName() + ".file", file);
以及 Manifest.xml 中的以下内容:
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="app.domain.app-name.file"
...
</provider>
当应用程序 运行 时可以正常工作。但是,当 运行 检测测试时,activity.getPackageName() returns 我的应用程序包名称附加了“.test”,导致以下异常:
java.lang.IllegalArgumentException:
Couldn't find meta-data for provider with authority app.domain.app-name.test.file
在这两种情况下都适用的正确设置是什么?
将您的 android:authorities
更改为:
android:authorities="${applicationId}.file"
我有以下源代码:
FileProvider.getUriForFile(activity, activity.getPackageName() + ".file", file);
以及 Manifest.xml 中的以下内容:
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="app.domain.app-name.file"
...
</provider>
当应用程序 运行 时可以正常工作。但是,当 运行 检测测试时,activity.getPackageName() returns 我的应用程序包名称附加了“.test”,导致以下异常:
java.lang.IllegalArgumentException:
Couldn't find meta-data for provider with authority app.domain.app-name.test.file
在这两种情况下都适用的正确设置是什么?
将您的 android:authorities
更改为:
android:authorities="${applicationId}.file"