checkSelfPermission() 似乎不适用于 WRITE_EXTERNAL_STORAGE

2023-12-24

我有使用的应用程序<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

在 Android 6.0 上它是自动授予的,但我可以在设置中撤销它。 想检查它是否被授予以防用户撤销它,所以我这样做:

int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permissionCheck == PackageManager.PERMISSION_GRANTED) {
    //OK permission granted, let's do stuff
} else {
    //I'll better ask for permission
}

有趣的是,即使手动撤销许可,条件也始终满足。应用程序失败了...对我来说这看起来像是一个错误,是我遗漏了什么吗?


你错过了一些东西:targetSdkVersion23 或更高。

If your targetSdkVersion为 22 或更低,您无法确定用户是否从“设置”中授予或撤销了权限。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

checkSelfPermission() 似乎不适用于 WRITE_EXTERNAL_STORAGE 的相关文章

随机推荐

  • 使用 Maven 构建多架构 SWT 应用程序

    我已经为 SWT 应用程序设置了一个 Maven 项目 该应用程序在多个平台上运行 OS X Windows 64 位 Windows 32 位 Linux 64 位和 Linux 32 位 我已对其进行设置 以便在运行 Maven 时检测
  • 在 django 中为模型创造完整历史的最佳方式是什么?

    如何为模型创造历史 向我显示某个字段中的旧值和新变化的值 在我看来 我认为为具有相同字段的每个模型创建历史模型 并且当用户从第一个模型创建新数据或更新数据时 也转到第二个模型 我搜索了很多这个问题 发现了一个名为 django revers
  • 错误 AndroidManifest.xml 不存在或根标记不正确

    我是使用 Android Studio 进行 Android 应用程序开发的新手 在尝试运行我的应用程序时遇到了此错误 错误 AndroidManifest xml 不存在或根标记不正确 我发现我的 AndroidManifest xml
  • Composer:您的系统中缺少请求的 PHP 扩展 ext-intl *

    我正在尝试使用composer json文件 但是 当我尝试运行命令 composer install in my path project 我收到错误 我已经配置了我的wamp for extension php intl dll 并复制
  • log4net / EventLogAppender 忽略我的 LogName

    此配置应该使我的日志条目最终出现在自定义日志中 对吧 但它最终会出现在应用程序日志中 我的应用程序以管理员身份运行 运行我的应用程序后 我可以确认日志和事件源是通过使用创建的EventLog Exists MyLog and EventLo
  • 谷歌浏览器扩展中的文件“compulated_hashes.json”的用途是什么?

    在一些谷歌浏览器扩展中 有一个computed hashes json文件 我没有找到任何有关该文件的文档 因此 如果我能得到一些解释 那就太好了 以下是该文件的摘录 file hashes block hashes THf ne1nArt
  • 通常禁用矩阵降维?

    众所周知 如果列维或行维为 1 R 会尝试将矩阵简化为向量 可以通过使用drop F命令 然而 我目前正在编写一个大型 R 包 并且需要在代码中数百次禁用维度下降 因此我必须手动找到这些位置并添加drop F数百次 因此 我想知道是否有任何
  • Symfony2 表单未选中的复选框未考虑在内,为什么?

    当我发送带有未经检查的复选框 如果相关实体属性等于true 那么它不会改变为false 反之亦然 当发送带有选中复选框的表单时将属性设置为 true 效果很好 并且保存的所有表单其他字段也可以正常工作 以下是我构建表单并声明相关属性的方法
  • NSAttributedString 颜色测试

    比较或测试 NSAttributed 字符串的特定颜色属性的正确方法是什么 举个例子 我想知道文本选择是否有红色文本 我尝试了几种方法 如下所示 但没有一种方法能够产生匹配结果 我看到屏幕上的文本变成红色 并且记录属性返回 UIDevice
  • 是否有 ADB 命令可以切换允许模拟位置?

    我搜索了一些主题但没有找到答案 我不需要指定纬度 经度 而是打开允许模拟位置的开关 安装应用程序后 在 Marshmallow 及以上版本 中 只需运行 adb shell appops set com example my package
  • 集合视图拖放延迟

    有没有办法调整在集合视图单元格上开始拖动所需的时间 如同UILongPressGestureRecognizer minimumPressDuration财产 我知道我们可以迭代附加到视图的所有手势识别器 并可能找到我们需要的手势识别器 但
  • 多部分/表单数据上传 - Nodejs - Expressjs

    由于express multipart已从Express 4 x库中删除 那么在expressjs中处理文件上传的最佳方法是什么 刚刚回答了一个类似的问题 https stackoverflow com q 23063317 971592关
  • 某些文件扩展名的 SVN Commit 问题

    我在从 Tortoise SVN 上传文件到 SVN 存储库时遇到问题 我可以上传所有文件 除了某些总是失败的特定文件 文件列表 Rhino Mocks dll 系统 Data SQLite dll 微软 Ajax debug js 在 S
  • VT100终端仿真器中的键盘传输模式

    我正在 javascript 和 vt100 规范中实现 vt100 终端模拟器 来自man terminfo and infocmp 告诉我smkx E 1h E 是进入键盘传输模式的代码 rmkx E 1l E gt 是离开 键盘传输
  • 我们能否为 EC2 实例设置易于记忆的主机名?

    我正在 EC2 上运行几个标准 Fedora 实例 我觉得亚马逊分配的实例的公共主机名太奇怪而且很难记住 我想将它们更改为较短的内容 例如红色 蓝色 绿色 等 这样做有什么缺点吗 以及如何设置它以使其在重新启动后仍然存在 Thanks 在开
  • 如何以编程方式获取 iPhone 屏幕尺寸? [复制]

    这个问题在这里已经有答案了 可能的重复 如何使用代码获取屏幕尺寸 https stackoverflow com questions 3635483 how to get screen size using code NSLog Top L
  • 如何手动验证 JWT Asp.Net Core?

    那里有数以百万计的指南 但似乎没有一个能满足我的需要 我正在创建一个身份验证服务器 它只需要颁发并验证 重新颁发令牌 所以我无法创建一个中间件类来 验证 cookie 或标头 我只是收到字符串的 POST 我需要以这种方式验证令牌 而不是A
  • 当 fd 关闭时,我会收到 epoll 的通知吗?

    我目前正在构建一些使用的东西epoll 它工作得很好 但是当文件描述符被删除时最好有一个通知epoll当底层的fd关闭了 有没有办法获得通知epoll一旦fd关闭了 不 这是一个Zig https ziglang org 程序来演示 con
  • Java 9 的 LogManager.getLogger() / Logger.getHandlers() 上缺少斜杠似乎会导致异常

    当我尝试创建日志文件 C Users cardal ApplicationLog html 时 我发现 Windows 上运行 Java 9 的 Applet 出现问题 该代码在 Java 8 上运行良好 代码执行LogManager re
  • checkSelfPermission() 似乎不适用于 WRITE_EXTERNAL_STORAGE

    我有使用的应用程序