Android库中的清单

时间:2017-09-26 14:11:18

标签: android android-manifest

我对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>

我考虑将其移至库清单,以便让用户更轻松地进行配置。但问题是我不知道是否将图书馆清单打开是一个好主意。

感谢您的回复!

2 个答案:

答案 0 :(得分:1)

将您的提供商移至图书馆清单是可以的,因为所有清单都会合并为一个(您可以在主Merged Manifest的底部AndroidManifest.xml标签中看到它)

答案 1 :(得分:1)

没有正确答案,因为这取决于您的项目要求和设计。

如果它是库的可选功能,我会让用户定义它。如果用户想要在他/她的其他应用程序中使用或共享相同的提供程序,那么您也可以将自己的程序包作为权限来破坏开发。

但如果是静态实施,如活动声明,你甚至不需要考虑它。只要把自己的清单。

祝你好运

埃姆雷