我正在我的应用程序中实现运行时权限。我有几个问题可以清楚地理解。
情况:
问题:
如果用户已向应用A (父应用)授予了所有必要的运行时权限,则子应用(即应用B )可以随身携带相同的许可授予,还是不得不再次询问他们?
是否要在旧版本的应用程序上安装新版本的应用程序,是否需要再次询问权限?假设版本2到3。
答案 0 :(得分:0)
从技术上讲,是的。如果app-A和app-B是两个单独的应用程序,则它们各自需要自己的一组权限和权限请求。
不,如果以前曾允许过权限,则安装较新版本不会重置该权限的状态。
但是,如果您希望app-B保留与app-A相同的权限状态,则应调查名为android:sharedUserId的事物。如果app-A与app-B具有相同的 sharedUserId ,则app-B将具有与app-A相同的权限状态,反之亦然。
我找不到任何讨论相同应用程序之间共享权限状态的文章,但是您可以查看其中一些文章以获取更多注释:
我自己进行了一次快速测试,可以确认具有相同sharedUserId的两个应用程序确实共享权限状态,因此请自己尝试。只需设置一个示例项目/应用程序即可检查并请求权限,对其进行克隆,将它们赋予相同的sharedUserId
,然后安装它们两个,对其中一个授予许可,您将看到它已经处于允许状态另一方面。