我使用的是Xamarin和Xamarin.Essentials,尽管这个问题可能适用于所有Android开发。
我有一个应用程序,它请求用户从硬件读取活动(步骤)的权限。用户可以授予或拒绝权限。如果用户拒绝,则应用程序不执行通常的步骤报告逻辑。
用户可以选择授予步骤权限,但我希望允许用户稍后改变主意。应用是否可以请求撤销之前授予的权限?这将简化编码,因为我可以依赖应用中的现有逻辑,而不是添加一个额外的层来确定是否已撤销。
我浏览了Xamarin Essentials API,并没有看到任何明显的关于撤销权限的内容。这可能吗?或者建议应用程序将用户引导到Android设置来撤销权限?如果可能的话,谁能给我指一下文档(如果可能的话,Xamarin会很棒)来完成这一操作?
1条答案
按热度按时间n3ipq98p1#
以下几种情况可能适用于您的情况:
1.在Android 11+(API 30+)上,您的应用可以request one-time permissions。
1.在Android 13+(API 33+)上,您的应用可以调用revokeSelfPermissionOnKill()来主动移除其对运行时权限的访问。
1.用户可以手动撤销应用的权限,您的应用最好妥善处理此问题。
1.在Android 11+上,操作系统将自动重置几个月未使用的任何应用的权限。
请参阅Android开发人员文档: