V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
w2ex2019
V2EX  ›  Android

Android APP 提示“是否允许访问您设备上的照片、媒体内容和文件”?

  •  
  •   w2ex2019 · 2021-03-23 08:43:59 +08:00 · 15552 次点击
    这是一个创建于 1333 天前的主题,其中的信息可能已经有所发展或是发生改变。

    每次看到这样的提示是很拒绝的,但是不允许又不能使用。 想问下,如果允许了,APP 是否可以随意访问我的照片和文件?特别是听说某 APP 远程删除了用户手机里的中奖截图? 是不是太恐怖了? Android 手机是否完全在裸奔?

    第 1 条附言  ·  2021-03-28 21:49:18 +08:00
    最后还是决定回到 iOS,省心。
    用了一段时间 Mate40 pro 下来,虽然流畅度感觉比 iphone11 pro 还好,但感觉还是重点在堆料,有些操作不如 ios 流畅和人性化;
    iOS 的隐私保护也确实比 Android 系统放心,且苹果生态的 app 质量真心高不少。
    无奈,苹果生态把我绑架了。
    90 条回复    2021-04-15 12:02:21 +08:00
    killergun
        1
    killergun  
       2021-03-23 08:48:45 +08:00
    是,就是裸奔
    wealken
        2
    wealken  
       2021-03-23 08:50:35 +08:00
    就是这个原因让我很想换到 iPhone 。。不过不知道小米的隐私照明弹有遏制作用没。
    kuyuzhiqi
        3
    kuyuzhiqi  
       2021-03-23 08:50:43 +08:00
    看 app 类型,如果这个权限影响 app 的体验就授予,如果只是很小的一个功能,拒绝掉也不影响使用,作为开发者不会去删除你的照片,而且 Android 权限越来越严格
    suenlai
        4
    suenlai  
       2021-03-23 08:54:40 +08:00
    看 iPhone 的这一块的设计就很高明,可以不授予应用相片权限. 而是在 photo 中分享相片推到 app 中去.
    w2ex2019
        5
    w2ex2019  
    OP
       2021-03-23 08:54:43 +08:00
    @wealken 从 iphone 转过来感到非常不适。
    DOLLOR
        6
    DOLLOR  
       2021-03-23 08:57:10 +08:00 via Android
    所以现在 Android 也开始推行 scoped storage 了。
    然而国内不少用户对此机制骂声连连。
    cairnechen
        7
    cairnechen  
       2021-03-23 08:59:02 +08:00   ❤️ 3
    建议你使用 iPhone,然后选择只允许访问部分照片,然后被频繁的选择允许访问照片的范围操作逼疯,最后彻底放弃精细化管理,一律给访问所有照片的权限。感谢苹果,第一次觉得李彦宏那句「愿意用隐私换便利」没有那么一无是处,懒确实是人的核心诉求之一。
    DOLLOR
        8
    DOLLOR  
       2021-03-23 09:00:30 +08:00 via Android
    其实 windows 也一样,连提示都没有,你的硬盘都是完全可见的,你不也早就习惯了?对于不受信任的软件,我都是扔沙箱、虚拟机跑的。
    unco020511
        9
    unco020511  
       2021-03-23 09:04:48 +08:00   ❤️ 1
    按照安卓目前的设计来说确实你允许后,app 可以访问照片和文件,且可以操作(比如删除),但一般都不会这么做的.实际开发中这些权限几乎是不可或缺的,不是开发者要做什么坏事,实在是没这个权限就连最基础的"选择图片并发送"这个功能都没法做
    wealken
        10
    wealken  
       2021-03-23 09:05:18 +08:00
    @w2ex2019 因为每次安装一个应用都会被逼选择允许访问照片和文件嘛?
    Eytoyes
        11
    Eytoyes  
       2021-03-23 09:07:33 +08:00
    一直都是俩手机,备用机与主力机物理隔离,随便访问,啥也没有
    unco020511
        12
    unco020511  
       2021-03-23 09:07:55 +08:00
    真正要防的是某数字安全厂商这样的垃圾企业的产品,下载之前就自动屏蔽这样的厂商,从技术上很难去平衡隐私泄露和便利性
    wealken
        13
    wealken  
       2021-03-23 09:08:27 +08:00
    @DOLLOR 浏览了一下 scoped storage 的文档( https://developer.android.com/about/versions/11/privacy/storage ),可以理解成是每个应用可以为自己的存储空间加个 flag,以做到允许或者不允许其他应用访问吗?不好意思,因为不是做开发所以不确定是不是这样理解。

    如果是这样的话,如果应用 A 要使用应用 B 的数据就会更麻烦,比如美颜软件 A 要访问用系统自带相机照的照片就会更麻烦,对吧?那难怪用户会抱怨了,就像 @cairnechen 说的清醒一样。。。[捂脸]
    Suigintou
        14
    Suigintou  
       2021-03-23 09:11:06 +08:00
    @cairnechen 苹果那个应该要改进一下,多一个可以选择访问的相册,而不单单是一张张照片。
    MrUser
        15
    MrUser  
       2021-03-23 09:13:35 +08:00
    是不是习惯了就好了?
    就像 windows 一样,windows 上的软件可以读取整个电脑的文件吧?
    有多少 windows 用户平时用的不是超级管理权限的。
    所以,就把 android 当 windows 用就好了。
    ---
    还是觉得 iphone + linux/macos 好点,所以我平时不用 android 和 windows 。
    natsji
        16
    natsji  
       2021-03-23 09:14:19 +08:00 via Android
    手机设置里允许,然后用 appopsx 禁用权限
    q197
        17
    q197  
       2021-03-23 09:16:29 +08:00
    @suenlai 这个安卓也有,但是几乎没有 app 主动用这个选择图片的,靠分享太麻烦了,而且很难分享到二级页面
    okakuyang
        18
    okakuyang  
       2021-03-23 09:16:47 +08:00
    这个就是读取和写入文件的权限,没这权限没法保存文件到外部存储,APP 删除所有相关的资料都没了。到时候有用户又要骂娘了。
    w2ex2019
        19
    w2ex2019  
    OP
       2021-03-23 09:23:52 +08:00
    @DOLLOR 原来没意识到 windows 的问题。
    greenskinmonster
        20
    greenskinmonster  
       2021-03-23 09:32:08 +08:00
    Island/炼妖壶利用工作配置模式可以解决这个问题,包括自动冻结和指纹现在也支持的不错了。
    hhrrr
        21
    hhrrr  
       2021-03-23 09:36:46 +08:00 via iPhone   ❤️ 2
    2021 年 11 月以后提交到 Google Play 的应用更新必须匹配 Android Api 30 (即强制启用分区存储特性),我打算等骁龙 895 正式发布后再尝试 Android 手机了。👋
    mrhhsg
        22
    mrhhsg  
       2021-03-23 09:39:20 +08:00   ❤️ 1
    @cairnechen 这是一个选择的问题
    诚然我们可以为了便利不要隐私,但是也不能否认其他人在意隐私是合理的
    在 iPhone 上你我可以为了方便直接给 app 所有照片的权限,但是也有其他的选择,这样似乎更好吧
    lagoon
        23
    lagoon  
       2021-03-23 09:42:55 +08:00
    是的。但也不是的。

    1 、外置储存确实完全裸奔。包括相册。
    2 、一般重要点的数据会存在 app 专用目录中,相当于沙盒,那个不裸奔。
    3 、iPhone 的隐私一直比 Android 好,不过 iPhone 的相册也裸奔了好久。Android 生态太零散,Google 要弄点什么,都得拉长时间。
    4 、远程删除中奖截图从技术上完全没问题。
    RikkaW
        24
    RikkaW  
       2021-03-23 09:45:18 +08:00 via Android
    @wealken 并不是你想的那样,以及使用系统选择器而不是自己做一个就不用权限了。

    @okakuyang 这是多金贵的数据要保存,卸载数据会丢失这是预期行为。公共区域原则上只应保存用户主动保存的文件(例如浏览器下载文件),这样的场景可使用媒体存储,在 Android 10 以上不需要权限。此外 Android 10 以上还有 hasFragileUserData,打开后系统会在卸载时询问是否保留私有区域数据。
    WEARE9201
        25
    WEARE9201  
       2021-03-23 09:46:54 +08:00   ❤️ 1
    @cairnechen 说道点子上了,自从我 iOS 升到 14 以后,就一直这么干,想访问照片的 app 统统设置成只能访问部分
    mcluyu
        26
    mcluyu  
       2021-03-23 09:49:00 +08:00
    @cairnechen 那不是苹果的问题,那是国内很多垃圾厂商,没错微信就是其中之一,不愿意适配最新的 API,而是借助信息不对称,不厌其烦的让用户选择全部照片,让用户认为这是苹果的问题。原本早在 iOS10 以前,就可以不申请任何权限直接从相册选择照片,缺点是一次只能选一张,但 iOS14 后的 API 可以多选,APP 完全不需要申请相册权限,但是很多厂商宁愿加提示让你授权也不愿意适配。
    cairnechen
        27
    cairnechen  
       2021-03-23 09:50:45 +08:00
    @mrhhsg 你说的没问题,但是有一点,提供额外选项也是有成本的,让用户多做一个选择是有心智负担的,苹果之所以好用有一方面的原因是它替用户做了很多决定,最小化了用户的心智负担,在这一点上我觉得还有很大的改进空间
    loli
        28
    loli  
       2021-03-23 09:50:48 +08:00
    这个权限其实具体是指 访问 公共的文件 (更详细的说就是访问修改由其他 APP 生成的文件)
    而不是单纯的只要 存储文件 就需要这个权限

    比方说视频 APP 缓存,应用市场下载
    你可以会想没权限怎么缓存,其实只要不是在公共目录拉屎的,绝大部分都是保存在自己的目录(不需要这个权限)

    这个权限还能细分为 读取 和 修改
    需要 app ops 之类的修改授权

    如果确认需要读取其他文件,比方说微信上传图片之类
    可以 允许 读取,拒绝 修改

    但也不一定能解决(因为有些脑瘫 APP 可能会需要复制图片到自己的拉屎目录进行大小压缩格式转换等操作)

    总的来说的确是很折腾。。。。

    android 11 以后会限制在公共目录拉屎的行为,总的来说还是在变好。。。
    ohwind
        29
    ohwind  
       2021-03-23 09:54:12 +08:00
    @DOLLOR 身为开发者,我对此功能叫骂。
    身为用户,真香。
    iConnect
        30
    iConnect  
       2021-03-23 09:54:58 +08:00 via Android
    那些云盘性质的 APP,还是会要所有目录的存储权限,这个只能拒绝流氓 APP
    cairnechen
        31
    cairnechen  
       2021-03-23 09:55:17 +08:00
    @mcluyu 来源请求
    Salicylicacid
        32
    Salicylicacid  
       2021-03-23 10:01:44 +08:00 via Android
    你们怎么会觉得苹果的"允许访问部分照片"好用的?每次想要发送新图片都要搞半天
    vate32
        34
    vate32  
       2021-03-23 10:05:14 +08:00
    哪个应用这么垃圾?不给存储权限还不让用?现在支付宝微信钉钉拼多多 QQ 等,不给存储权限还是能够使用的,当然也会导致发送图片等功能用不了(不会调用原生的存储接口吗艹)。不给存储就弹窗、闪退的,那属实该喷
    whenov
        35
    whenov  
       2021-03-23 10:05:18 +08:00 via Android
    用 storage isolation 吧,前提是 root
    liuxey
        36
    liuxey  
       2021-03-23 10:07:48 +08:00
    @DOLLOR #8 自从上了重点文件夹监控,发现很多软件都在读我 Edge 文件夹,真是烂透了
    ALVC666
        37
    ALVC666  
       2021-03-23 10:10:24 +08:00
    @Salicylicacid 我也觉得选择图片授权不好用 感觉这里果子得重新捋捋
    greenskinmonster
        38
    greenskinmonster  
       2021-03-23 10:11:15 +08:00
    @vate32 #34 很多银行的 app 都是不给存储不让用的。阿里系基本都不需要了,微信可以不给,不过用起来确实不算方便。
    NSAgold
        39
    NSAgold  
       2021-03-23 10:12:35 +08:00 via Android
    @wealken #13 外部公有文件夹啊...
    /Picture 这种文件夹设计上就是用来给各个 APP 存照片的
    纯粹是 APP 设计不行,不符合规范而已。
    cairnechen
        40
    cairnechen  
       2021-03-23 10:12:55 +08:00
    @mcluyu 感谢,我研究一下
    nguoidiqua
        41
    nguoidiqua  
       2021-03-23 10:16:28 +08:00
    Android 手机是可以开辟工作空间的,把不信任的 APP 直接丢到工作空间就是了。

    其实需要存储的 APP 应该是向系统申请在 Android 下面创建个目录,而且只能读写这个目录,这个不需要向用户显示授权要求。至于选取其他目录的文件,应该是通过系统自带的文件管理间接获取传过来,也不用向用户申请权限。只有诸如相册、文件管理器之类少部分 APP 才需要给全盘读写权限,只有这个权限要向用户申请。
    vate32
        42
    vate32  
       2021-03-23 10:16:55 +08:00
    @greenskinmonster 银行类是很蛋疼,一方面银行类安全要求比较高,另一方面感觉开发银行 APP 的人员的水平也确实捉急
    vate32
        43
    vate32  
       2021-03-23 10:19:33 +08:00
    不过昨天倒是有这个新闻,[网约车、导航、社交等 39 类 App 能提取哪些个人信息?国家明确了!]( http://app.myzaker.com/news/article.php?pk=605938729e780bf95800361e&f=Normal)
    yolee599
        44
    yolee599  
       2021-03-23 10:41:33 +08:00   ❤️ 1
    文件用了储存重定向,权限用了 XPrivacy,我随你扫
    clf
        45
    clf  
       2021-03-23 10:48:18 +08:00
    @Suigintou #14 苹果好像没有划分相册?
    Cielsky
        46
    Cielsky  
       2021-03-23 10:49:00 +08:00 via Android
    能不给我都不给,试了下 QQ 和微信在高安卓版本以上可以通过其他软件直接分享图片了,不需要存储权限
    lqzhgood
        47
    lqzhgood  
       2021-03-23 10:55:32 +08:00 via Android
    安卓上有虚拟机或沙盒么?
    alfchin
        48
    alfchin  
       2021-03-23 11:00:27 +08:00 via iPhone
    @iConnect one drive 表示我很良心不干这种缺德事
    iSNN
        49
    iSNN  
       2021-03-23 11:56:11 +08:00
    前几天不是工信部才出的规定,定义 APP 可获取范围,不能让用户不同意就不能用
    但是执行还有待考证
    archiyuan
        50
    archiyuan  
       2021-03-23 12:25:08 +08:00 via Android
    @cairnechen 哈哈,我就是这样
    yyyb
        51
    yyyb  
       2021-03-23 12:30:33 +08:00
    android 限制 app 只对自己的数据目录有读写权限就这么难么?
    xiaoming1992
        52
    xiaoming1992  
       2021-03-23 12:47:18 +08:00 via Android
    不太懂安卓或者 ios,如果是这样的一种机制(流程):用户在 app 中需要获取图片时,跳转到系统相册,然后用户手动选择几张或所有图片,系统将用户选择的这些图片授权给 app 访问,app 再进行进一步处理,这样操作流程和现在几乎没区别,甚至用户还可以选择“单次授权、限时授权、永久授权”等,进一步的,由某 app 生成的图片,该 app 默认拥有访问权限。

    这样不好实现吗?或者有什么 bug 或缺点我没有考虑到?
    Semidio
        53
    Semidio  
       2021-03-23 12:55:54 +08:00
    @Suigintou #14
    @Salicylicacid #32
    其实 iOS 可以用 PHPickerViewController 无需授权访问图片,但是因为仅有 iOS14 支持所以没多少 APP 用
    Semidio
        54
    Semidio  
       2021-03-23 12:58:58 +08:00
    @xiaoming1992 #52 你说的前半部分 iOS 早就可以了,iOS14 以下有 UIImagePickerController,iOS14 有 PHPickerViewController,都可以无需授权访问图片,就是用的 APP 非常少。
    cairnechen
        55
    cairnechen  
       2021-03-23 13:08:59 +08:00
    @xiaoming1992

    iOS 现在的相册授权就是你说的这样

    现在拿起 iPhone,给微信限制只能访问选中照片,试用一周,按普通的发图频率(假定一个典型值 1 天 24 张),如果你能忍住不取消这个权限改成允许访问所有照片,我只能说佩服好吧

    楼上 @Salicylicacid @archiyuan 两位显然是经理过这种痛苦的
    cairnechen
        56
    cairnechen  
       2021-03-23 13:09:49 +08:00
    @cairnechen typo 经理->经历
    acrisliu
        57
    acrisliu  
       2021-03-23 13:12:37 +08:00 via iPhone
    楼主用的哪个 app 不给存储权限不让用的?可以直接举报到工信部。我之前除了招行的 app 不给存储不让登录以外没遇到这种了。
    ciaoly
        58
    ciaoly  
       2021-03-23 13:13:23 +08:00 via Android
    @unco020511 使用 Media provider 是不是就可以不申请存储空间访问权限而选择图片并发送?
    w2ex2019
        59
    w2ex2019  
    OP
       2021-03-23 13:52:47 +08:00
    @acrisliu 12306 都必须开启全部权限。
    acrisliu
        60
    acrisliu  
       2021-03-23 13:56:54 +08:00
    @w2ex2019 #59 不用吧,我过年才买过票,什么权限都不用给,你的安卓版本是?
    ke2933
        61
    ke2933  
       2021-03-23 14:26:09 +08:00
    @wealken 苹果该获取相册时也一样获取
    ke2933
        62
    ke2933  
       2021-03-23 14:32:28 +08:00
    @acrisliu 中信银行的信用卡软件 — 动卡空间 安卓端(IOS 没试),不给权限直接退出,然后我就放弃去薅羊毛了
    Lemeng
        63
    Lemeng  
       2021-03-23 14:36:56 +08:00
    安卓也在权限方面应该有所更近,有些权限有界限就好了。
    MisakiYui
        64
    MisakiYui  
       2021-03-23 14:58:37 +08:00 via Android
    @w2ex2019 12306 我月初才买过票,什么权限都不用给。
    xiaoming1992
        65
    xiaoming1992  
       2021-03-23 15:37:09 +08:00 via Android
    @cairnechen 不是,我的意思是说,你从微信里点击选择图片,会直接跳转到系统相册,系统相册里你可以选择任意多张图片,点击确认之后,系统就把你选择的图片传给微信处理
    cairnechen
        66
    cairnechen  
       2021-03-23 17:54:44 +08:00
    @xiaoming1992

    你在说啥? iOS14 就是你说的这样
    cairnechen
        67
    cairnechen  
       2021-03-23 17:59:57 +08:00   ❤️ 1
    @xiaoming1992
    我理解了,你的意思是每次跳到系统相册,都有可以选择所有照片的权限,而不是像 iOS14 一样,只有之前选中的开放给 APP 访问权限的照片集合,是这个意思吧。
    honeycomb
        68
    honeycomb  
       2021-03-23 18:00:27 +08:00 via Android
    @Semidio Android 也是如此,也有类似的通过系统自带的 file picker 中转的方式,完全不需要全局访问外部储存的权限。

    现在只能寄希望于苹果强迫开发者使用这些特性了。
    SenLief
        69
    SenLief  
       2021-03-23 19:18:09 +08:00
    都不好用,安卓也有类似的设计,只不过用起来和 ios 一样麻烦的要死。
    jim9606
        70
    jim9606  
       2021-03-23 20:02:32 +08:00
    @greenskinmonster 如果是发图片的话用系统相册分享到微信就好了
    ikas
        71
    ikas  
       2021-03-23 20:05:09 +08:00
    使用组权限来授权,导致无法详细,安卓本身可以实现更细致的,只是没给你用而已,你可以配置为写允许,读禁止,然后利用分享来做文件传递. app 不规范,系统想简化,用户数据就是牺牲品,想保护自己数据,就只能靠自己了
    jackiecao
        72
    jackiecao  
       2021-03-23 20:14:14 +08:00
    你是刚开始用只能手机吗...
    yikuo
        73
    yikuo  
       2021-03-23 20:30:25 +08:00 via Android
    Android 和 iOS 其实一直都可以不需要存储权限就调用系统文件选择器发送图片的,不过有的 App 就是不用这种方式
    azureaz
        74
    azureaz  
       2021-03-23 21:58:44 +08:00
    @iSNN 工信部管不管得住就是个大问题
    azureaz
        75
    azureaz  
       2021-03-23 22:00:14 +08:00
    @xiaoming1992 几年前的 SAF API 就能实现,可微信这些国产软件就是不愿意去用,楞是要用自己的文件选择工具,必须开存储权限
    fox0001
        76
    fox0001  
       2021-03-23 22:04:50 +08:00
    装个 Shelter,然后那些不信任的 app 装在里面,即使开启通讯录、访问文件等权限,也获取不到
    dingwen07
        77
    dingwen07  
       2021-03-23 22:15:51 +08:00 via Android
    API30 之后,发文件必须要系统的文件选择器,所以可以用发送文件功能来发图片,
    oreoiot
        78
    oreoiot  
       2021-03-23 22:17:16 +08:00 via iPhone
    @cairnechen 哈哈哈哈哈哈 我还在坚持部分选择
    ghostsf
        79
    ghostsf  
       2021-03-23 22:46:51 +08:00
    已经这样了,还是自己做好防范措施,要求高的话搞搞存储重定向什么的
    w2ex2019
        80
    w2ex2019  
    OP
       2021-03-23 23:19:19 +08:00
    @jackiecao 以前买不起安卓手机,一直用的 ios 系统。
    924244687
        81
    924244687  
       2021-03-24 00:23:00 +08:00 via iPhone
    @cairnechen
    点名批评微信,垃圾!同样是一家公司的,QQ 的做法好太多了
    haitang
        82
    haitang  
       2021-03-24 05:07:33 +08:00
    建议换 iPhone 。。。我就是因为文件权限问题换到了 iPhone,各种骚操作太多了,没精力折腾

    自从 iOS 有部分照片功能就一直在用了,日常使用发送照片体验上,tg 是最方便的,微信是最烂的

    目前不可知何种原因,在照片 app 上分享到微信好友很大概率会失败,分享无法呼出,反观 tg 每次都可以成功
    ziseyinzi
        83
    ziseyinzi  
       2021-03-24 07:47:57 +08:00 via Android
    Rikka,我的超人
    NexTooo
        84
    NexTooo  
       2021-03-24 09:17:05 +08:00
    @wealken 不是的,分区存储之后使用公共资源文件夹和自有的分区读取就不需要权限申明了。当然反过来,媒体资源想放入相册也得存储在公共文件夹,对实现上算是多了一些麻烦吧。
    jackiecao
        85
    jackiecao  
       2021-03-24 09:33:30 +08:00
    @w2ex2019 好厉害
    zhcntiangang
        86
    zhcntiangang  
       2021-03-25 13:11:36 +08:00 via Android
    @fox0001 能发一下地址么?
    fox0001
        87
    fox0001  
       2021-03-25 17:36:52 +08:00 via Android
    pista
        88
    pista  
       2021-04-14 16:28:55 +08:00
    @natsji appopsx 现在还能用吗,play store 下载的?
    natsji
        89
    natsji  
       2021-04-14 16:54:59 +08:00
    @pista appopsx 好像不在更新了,有些权限可以设置有些不行。
    play store 里面的 appops 还在更新,https://play.google.com/store/apps/details?id=rikka.appops
    pista
        90
    pista  
       2021-04-15 12:02:21 +08:00
    @natsji 感恩,在试 permission manage X
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2804 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:49 · PVG 20:49 · LAX 04:49 · JFK 07:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.