当我们有多个Activity时如何集中运行时权限

问题描述 投票:0回答:3

抱歉我的英语不好。

我的应用程序中有多个

Activity
,我需要集中运行时应用程序权限。

我需要使用

BaseActivity
吗?

如果是,请建议我如何处理,以防应用程序中有很多

Activity

如果没有,请提出更好的处理方法。

我想减少代码冗余。没兴趣一次又一次地编写相同的代码

Activity

我正在寻找用户拒绝许可的负面情况,我必须表现出理性,而不是继续要求允许。基于此我必须提供消息或者我必须更新 UI

java android android-activity runtime-permissions
3个回答
0
投票

链接可帮助您有效管理运行时权限


-1
投票

引入运行时权限来控制危险资源

因此,理想情况下,每次使用资源时都必须检查权限。此代码绝对不能删除。

然后到了请求权限的时候,就是单行代码了。我想你一定不会遇到这个问题。

现在是棘手的部分。处理授予的权限。您绝对可以拥有一个基类(不推荐),但理想情况下不同的权限用于不同的目的。

例如位置权限:
在同一个 Activity 中,比如 Location.java,我可能需要位置权限来获取使用 LatLon 值的人的地址,并且在同一个 Activity 中,我使用位置权限来实时跟踪用户。

现在要处理相同权限的不同实现,您必须根据目的拥有唯一的权限代码,而不是根据您正在访问权限的资源。在基类中处理所有这些事情可能很棘手。因此,理想情况下,您必须在其所属的活动中处理权限。它将保证您的代码安全并防止与其他代码混淆。

始终建议阅读官方文档

在某些情况下,您可能会对代码的冗余和多个实现感到困惑。为此,Android 最终处理了大部分代码,作为程序员,最不期望的是在使用危险资源的地方检查权限并执行适当的操作。


-2
投票

如果您有 10 个活动,并且所有活动都需要位置权限。那么我想这对您的应用程序来说是非常重要的权限。

对于关键权限,如果用户不允许,您可以关闭您的应用程序,因此在第一个活动本身上执行此操作。就像 Facebook 所做的各种许可一样。这对用户来说可能是不好的体验,但这是您的应用程序必需的许可。

只需在第一个 Activity 中写入一次,如果用户不允许,则停止应用程序。很多旗舰应用程序都这样做。

© www.soinside.com 2019 - 2024. All rights reserved.