我有一个相当强大的Android应用程序,它可以在各种活动和服务中进行大量的光盘访问,并且没有单一的访问点。这是很好的前棉花糖。 首次请求权限并在权限被拒绝时进行处理是正常的,但如果用户在授予权限后撤消权限该怎么办。现在我处于这样一种情况,即我有1000行代码,需要在多个地方进行权限检查。那么什么是最好的行动方案
1)多次检查听起来太费力。
2)Blanket Try Catch
有没有更好的方法来处理它?
答案 0 :(得分:1)
每次使用时,您都必须检查权限。为简单起见,您可以使用PermissionAcceptor-master库。
几乎所有权限都包含在此库中。
您必须使用PermissionAcceptor-master库(如
)添加几行代码new PermissionRequest(MainActivity.this,
Permission.PERMISSION_CAMERA,
PermissionCode.CODE_PERMISSION_CAMERA,
R.string.permission_camera_rationale,
R.string.permission_camera_denied,
R.string.permission_enable_message, this)
.checkPermission();
有关详细信息,请访问PermissionAcceptor-master。
答案 1 :(得分:0)
我的应用程序存在类似的问题,涉及访问需要写入存储权限的API的多个活动。我最终得到一个BaseActivity类,它在活动恢复时检查权限,如果未授予权限,则会将用户导航到初始活动。如果未授予许可,则Initial活动绝不会让客户参与其他活动。
答案 2 :(得分:0)
如果用户在提供权限后撤消权限,则会通过“设置”完成,在这种情况下,您的应用仍会关闭并重新启动。 BaseActivity确实可以帮助处理onRequestPermissionsResult