【发布时间】:2018-02-05 13:33:09
【问题描述】:
应用程序需要两个权限:
- 读取手机状态
- 相机
应用程序有以下屏幕:
屏幕 A:Splash(根据权限状态处理屏幕导航)
屏幕 B:权限屏幕(如果用户未授予 电话 权限)
屏幕 C:条款和条件屏幕
当它启动时,应用程序将检查是否授予手机权限。如果授予,应用程序将打开屏幕 C,否则它将保持在同一屏幕 B。
步骤:
- 打开应用程序->启动画面->权限屏幕
- 点击“授予权限” -> 权限对话框 -> 拒绝权限
- 点击“打开设置”
- 授予“相机”权限(不是手机权限)
- 点击设备的“返回”按钮并返回应用程序。
- 权限屏幕将显示为未授予'电话'权限。
- 再次重复步骤 #2 和 #3
- 现在移除“相机”权限并授予“手机”权限(由于我们更改了相机权限,应用进程将被终止并重新启动)。
- 重复第 5 步,将显示启动画面,然后显示屏幕 C(条款和条件)。
- 再次点击“返回”按钮,将显示相同的屏幕 C(屏幕 C 在后堆栈中有两个实例)
我可以使用 'CLEAR_TASK' 和 'CLEAR_TOP' 标志和 startActivity,目的是了解当用户更改时我们的应用程序会发生什么,来自设置的权限。
观察:
当用户授予权限时,我们的申请流程将不起作用。
当用户删除授予的权限时,Android 应用程序将终止并重新启动应用程序。 (如果发生这种情况,那么为什么会有两个 T&C 屏幕实例?)
我在这里有点困惑!
【问题讨论】:
标签: android permissions android-permissions