应用运行时如何检测何时取消权限

时间:2019-06-19 21:56:04

标签: android

我有一个用于读取和写入外部存储的应用程序权限。 我只在特定的地方请求许可。 问题是当用户更改(仅取消)应用程序清除缓存的权限或诸如此类的操作时。我不知道该如何处理。 我使用LG 4。

清单中

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
...
<activity android:name=".main.MainActivity" android:launchMode="singleTop">
...

应用程序崩溃的某些设备(平板电脑版本23,其他设备版本28)

3 个答案:

答案 0 :(得分:0)

在使用权限之前,应始终检查权限。 尝试使用Understanding App Permissions作为参考

答案 1 :(得分:0)

权限更改后,您将无法收听。但是您可以运行一项服务,该服务每秒钟左右检查一次许可。但是我假设您想知道在android删除数据之前权限何时更改。

您想要的东西并不存在,因为它是设计使然的,如果用户不希望您的应用程序将任何内容写入手机,那么android将阻止/删除它。这样可以防止带有恶意意图的应用程序。

答案 2 :(得分:0)

您不能那样做,这是个小众案例,因此强迫所有人实施模式和/或后备功能将是所有人的头疼之事。

为防止用户撤销先前授予的权限时出现的问题,系统会立即杀死您的应用程序进程。 这样,重新启动后就可以正确检查可用权限。