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

马克E

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

中式

您不能更改默认权限对话框(查看此处)。

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

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

编辑:我正在阅读文档并找到了这个它可能对 23.0.0 及更高版本有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

需要解释为什么我的代码会产生 ValueError

解释为什么“-”不是“-”

为什么git要求输入提交消息来解释为什么需要这种合并

JavaScript将“ + + i”解释为什么?

谁能解释为什么我们需要在SpriteKit中进行缩放?

是否需要解释为什么“ 1”--“ 1”表达式返回2?

SCons:需要解释为什么不使用scons -u调用Install

需要解释为什么Clipboard.SetText(“”)不等于Clipboard.Clear()

请输入提交消息以解释为什么需要这种合并,特别是如果将更新后的上游合并到主题分支中时

为什么QVariant :: type()在应解释为QMetaType :: Type时返回QVariant :: Type?

为什么在使用分号时不将此JavaScript解释为代码块?

为什么在使用绝对URL时将HTML POST表单解释为GET?

当dec不为0时,为什么0xF00解释为NO

为什么在安装时(以及在安装大多数软件时)未显示许可证?

带有async / await的async.js-需要帮助来解释为什么这不起作用

为什么在安装TFS时需要安装Oracle JRE?

为什么gcc仅将此解释为单个选项?

解释为什么 encode 方法返回空 Vector

解释为什么要在重复输入中重复输入

无法解释为什么 `_.debounce` 以这种方式工作?

解释为什么unpack()在Lua中返回不同的结果

谁能解释为什么内容无法清除?

Volley从不返回VolleyError或解释为什么存在异常

为什么将此解释为绝对URL?

无法解释为什么“ 55”被转换为“ 7”

解释为什么会出现错误的输出?

解释为什么.bash_logout无法运行命令?

谁能解释为什么 JUnit 测试会出错?

解释为什么“使用”在服务中不起作用?