抱歉我的英语不好。
我的应用程序中有多个
Activity
,我需要集中运行时应用程序权限。
我需要使用
BaseActivity
吗?
如果是,请建议我如何处理,以防应用程序中有很多
Activity
。
如果没有,请提出更好的处理方法。
我想减少代码冗余。没兴趣一次又一次地编写相同的代码
Activity
。
我正在寻找用户拒绝许可的负面情况,我必须表现出理性,而不是继续要求允许。基于此我必须提供消息或者我必须更新 UI
此链接可帮助您有效管理运行时权限
引入运行时权限来控制危险资源
因此,理想情况下,每次使用资源时都必须检查权限。此代码绝对不能删除。
然后到了请求权限的时候,就是单行代码了。我想你一定不会遇到这个问题。
现在是棘手的部分。处理授予的权限。您绝对可以拥有一个基类(不推荐),但理想情况下不同的权限用于不同的目的。
例如位置权限:
在同一个 Activity 中,比如 Location.java,我可能需要位置权限来获取使用 LatLon 值的人的地址,并且在同一个 Activity 中,我使用位置权限来实时跟踪用户。
现在要处理相同权限的不同实现,您必须根据目的拥有唯一的权限代码,而不是根据您正在访问权限的资源。在基类中处理所有这些事情可能很棘手。因此,理想情况下,您必须在其所属的活动中处理权限。它将保证您的代码安全并防止与其他代码混淆。
始终建议阅读官方文档。
在某些情况下,您可能会对代码的冗余和多个实现感到困惑。为此,Android 最终处理了大部分代码,作为程序员,最不期望的是在使用危险资源的地方检查权限并执行适当的操作。
如果您有 10 个活动,并且所有活动都需要位置权限。那么我想这对您的应用程序来说是非常重要的权限。
对于关键权限,如果用户不允许,您可以关闭您的应用程序,因此在第一个活动本身上执行此操作。就像 Facebook 所做的各种许可一样。这对用户来说可能是不好的体验,但这是您的应用程序必需的许可。
只需在第一个 Activity 中写入一次,如果用户不允许,则停止应用程序。很多旗舰应用程序都这样做。