我对Android库有疑问。假设我的库中有一些文件管理。我的应用需要FileProvider
。我从应用程序包名称中获取权限。问题是:是否可以为用户提供库清单,让他们在那里更改内容或者只是对用户说:“嘿,如果要启用需要文件管理的库的这部分,请转到您的应用清单并在其中添加<provider>
。“ ?
目前我的<provider>
看起来像这样,它位于 app manifest 中:
<provider android:authorities="com.myPackage.name.FileProvider"
android:name="android.support.v4.content.FileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
我考虑将其移至库清单,以便让用户更轻松地进行配置。但问题是我不知道是否将图书馆清单打开是一个好主意。
感谢您的回复!
答案 0 :(得分:1)
将您的提供商移至图书馆清单是可以的,因为所有清单都会合并为一个(您可以在主Merged Manifest
的底部AndroidManifest.xml
标签中看到它)
答案 1 :(得分:1)
没有正确答案,因为这取决于您的项目要求和设计。
如果它是库的可选功能,我会让用户定义它。如果用户想要在他/她的其他应用程序中使用或共享相同的提供程序,那么您也可以将自己的程序包作为权限来破坏开发。
但如果是静态实施,如活动声明,你甚至不需要考虑它。只要把自己的清单。
祝你好运埃姆雷