当前位置: 首页 > 知识库问答 >
问题:

在安装时解释为什么需要许可

罗智志
2023-03-14

我需要在我正在开发的应用程序的清单中声明android.permission.WRITE_EXTERNAL_STORAGE。有没有办法向用户解释为什么我在安装(最佳)或运行时需要此权限?因此,当安装应用程序时,会显示诸如“使用自定义级别需要此权限”之类的内容?我需要外部权限,而不是应用程序目录写入权限。

共有2个答案

长孙宜
2023-03-14

AFAIK,您唯一的选择是使用隐私政策页面,该页面明确说明应用程序中每个危险权限的用途。

白学
2023-03-14

您不能更改默认的权限对话框(看这里)。

但是,您可以在用户第一次授予权限之前弹出一个对话框。在对话框中你可以用两个按钮继续和取消你想要的内容。当用户选择继续时,您可以弹出默认权限对话框。

但正如DaveNOTDavid所说,这不是最佳实践。作为业余爱好者,如上所述,可以在条款和条件或隐私政策中提及它。

编辑:我正在阅读文档,发现了这个。它可能对23.0.0及更高版本有用。

 类似资料:
  • 我注意到在Docker容器中使用基本操作系统Alpine vs. CentOS或Debian安装Pandas和Numpy(它是依赖项)需要更长的时间。我在下面创建了一个小测试来演示时间差。除了Alpine更新和下载构建依赖项以安装Pandas和Numpy需要几秒钟之外,为什么setup.py比Debian安装花费大约70倍的时间? 是否有任何方法可以加快使用Alpine作为基本映像的安装速度,或者

  • 2本关于gulp的手册说,我需要首先在全局范围内安装gulp(带-g标志),然后在本地再安装一次。为什么我需要这个?

  • 问题内容: 我可以将数据发送到服务器,但是只有在使用FromBody-Attribute时才可以。 为什么无法使用Post从主体自动读取json数据? 后端Web API 前端angularjs 问题答案: 仅因为某事是POST请求,所以没有明确的规则如何传递参数。POST请求仍可以包含URL中编码的查询参数。方法参数应该是“简单”类型(字符串,整数等)的查询参数。 通常,复杂类型应该是POST表

  • 我读了这篇问答和Cocoacasts博文,我完全理解什么是< code>@escaping注释。 但老实说,我不明白我们为什么需要它。 上述Cocoacasts博客文章指出: 默认情况下,使闭包不转义有几个好处。最明显的好处是性能和编译器优化代码的能力。如果编译器知道闭包是非转义的,它可以处理内存管理的许多细节。 但是,Swift编译器可以确定<code>转义 这也意味着您可以在非转义闭包中使用s

  • 问题内容: 在较高的层次上,我知道我们需要通过使用它们各自的包装类在Java集合中使用它们来“包装”原始数据类型,例如int和char。我想了解Java集合如何在低级询问:“为什么我们需要将原始数据类型包装为对象才能在集合中使用它们?”在此先感谢您的帮助。 问题答案: 在虚拟机级别,这是因为与引用类型(例如java.lang.Object及其派生类型)相比,原始类型在内存中的表示方式非常不同。例如

  • 当我阅读mapstruct文档时,他们说:mapstruct是一个Java注释处理器,用于生成类型安全的bean映射类。 https://mapstruct.org/documentation/stable/reference/html/#introduction 这就剩下我的任务了。为什么我需要mapstruct?Jhipster使用它,我不知道他们为什么首先需要它?为什么你需要Jhipster

  • 问题内容: 我对JAX-WS进行了概述,并注意到了(和)的一些引用。 在什么情况下需要?(我认为JSR 109服务器?!) 问题答案: 是使用SUN的参考实现将Web服务作为标准存档部署在非Java EE5 Servlet容器上时所需的专有部署描述符。 Sun的RI 用作servlet上下文事件的侦听器和调度程序servlet。两者都必须在中声明。然后需要该文件为定义Web服务端点,以使其知道必须