我正在尝试通过java程序重置用户定义的android权限。
这是android.webkit API的一部分,我发现 - GeolocationPermissions.Callback
虽然用户可以在AndroidManifest.xml中定义很多Android权限。所以我如何重置Java中Android设备的所有权限?有没有什么常见的方法可以做到这一点?
先谢谢。
答案 0 :(得分:0)
简而言之,我认为这是不可能的。
根据我的理解,您指的是Marshmallow中引入的新权限模型(运行时权限)以及" reset"您希望用户将其授予您。
运行时权限是让用户完全控制应用程序使用权限的步骤。应用只能请求权限,但无法在没有任何用户交互的情况下以编程方式更改。
此处的解决方案是请求权限并检查用户是否已授予权限。如果没有,请向他解释为什么需要特定许可。
更多信息:
(如果我错误/误解了这个问题,请纠正我。你可以用更多细节编辑问题。)
答案 1 :(得分:0)
有这个API
((ActivityManager)context.getSystemService(ACTIVITY_SERVICE)).clearApplicationUserData();
允许应用程序从磁盘擦除其自身的数据。这等效于用户选择从设备设置UI中清除应用程序的数据。它会删除与该应用程序关联的所有动态数据-私有数据和外部存储区私有区域中的数据-但不会删除已安装的应用程序本身,也不会删除任何OBB文件。 它还会撤消该应用程序已获取的所有运行时权限,清除所有通知并删除与此应用程序相关的所有Uri授予。
但是,此api将强制关闭您的应用。 有关此答案的更多信息:https://stackoverflow.com/a/29197259/5673746