为何在 app 里拍个头像,光有摄像头权限还不行,还非得开放文件系统读写权限呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pq
V2EX    Android

为何在 app 里拍个头像,光有摄像头权限还不行,还非得开放文件系统读写权限呢?

  •  
  •   pq 2017-11-05 22:51:28 +08:00 13118 次点击
    这是一个创建于 2900 天前的主题,其中的信息可能已经有所发展或是发生改变。

    每个 app 不都在 sd 卡限定的目录内有读写权限的么?完全可以用来临时处理拍照的图片呀。这些流氓 app 就是借此逼用户向它们开放整个 sd 卡的读写,本来以前可以忽略头像的,最近突然强制要求设置头像,我想就随便拍个键盘什么的当头像吧,没想到光开放了摄像头权限后根本不行。。。

    13 条回复    2017-11-26 12:31:41 +08:00
    honeycomb
        1
    honeycomb  
       2017-11-05 23:00:35 +08:00   3
    应用不肯:
    1:调用系统拍照 app,如此无需包括摄像头在内的任何权限
    2:拍了照不肯存入应用自身目录(data 分区或者 sdcard 分区里该应用专用的)

    往往说明该应用有疾病,需要治疗,特别是那些并不以拍照 /扫描为主要目的的应用。
    pq
        2
    pq  
    OP
       2017-11-05 23:20:43 +08:00
    @honeycomb 嗯,我也觉得肯定是不怀好意的,好在同类 app 很多,一拨又一拨的新鲜货,所以,干掉它再换一个不是什么困难的抉择。。。
    karia
        3
    karia  
       2017-11-06 09:27:29 +08:00   2
    magisk + AppOps 给空数据,专治不给权限就不运行的流氓

    遇到过唯一一个做了反抗的是美图外卖,一定要电话+定位(起码粗略)+存储(读写)
    外卖软件要 FS 读写想干啥,甚至定位其实我也不想给,手动输入挺好的 :)
    pq
        4
    pq  
    OP
       2017-11-06 13:32:18 +08:00   1
    @karia 这对我遇到的情况是没用的。因为定义不了头像就没法进入 app,而要成功地自定义头像,要么开放摄像头和文件系统权限来拍照,要么开放文件系统权限后选择图片文件,反正就是逼人开放文件系统,你返回个空数据,照样还是无法定义头像。

    这种 app 之所以逼人开放文件系统,我猜主要还是绑定了一堆大厂的流氓插件(或叫 SDK ),它们要读写文件系统才可以正常运作,最常见的比如阿里系的,好多 app 运行后都会在 sd 卡上生成许多个阿里系有关的目录,尽管没有装任何阿里的 app。。。
    pq
        5
    pq  
    OP
       2017-11-06 13:35:14 +08:00
    @karia 我 sd 卡上本来也没任何敏感数据,但就是很讨厌那一堆乱七八糟的目录,我有洁癖嘛,所以,对国产 app 是从来不开放文件系统权限的,不给用就删除它。
    caixiangyu17
        6
    caixiangyu17  
       2017-11-06 13:49:52 +08:00
    因为懒得做这个功能,用第三方的控件,控件一般都有缓存的功能
    pq
        7
    pq  
    OP
       2017-11-06 14:01:06 +08:00
    @caixiangyu17 也不知是些什么功能要用到第三方控件,说了半天,我说的这 app 其实就是个常见的直播 app,看妹子用的,基本都是一个模子出来的,同类的 app,我除了电话权限(因为是 wifi 版的平板,电话权限无所谓),一律不给,却可以照常使用,除了不能自定义头像外,没有任何功能缺失,哦,可能还有支付功能不行,不过我从来不刷礼物,没试过充值。。。:D
    caixiangyu17
        8
    caixiangyu17  
       2017-11-06 14:35:21 +08:00   2
    @pq 就是添加头像功能呀,什么从 sd 卡里面选取图片,什么拍照后处理,这些要自己写都挺麻烦的还得写界面,直接用第三方控件省很多事情,而一般第三方控件都给你做了好多功能,就需要读写权限了。安卓自从有了 gradle,随便引个第三方控件实在是太方便了,所以现在 app 各种大体积运行慢有时候就是滥用第三方控件导致的,经常会杀鸡引个牛刀
    pq
        9
    pq  
    OP
       2017-11-06 15:00:43 +08:00
    @caixiangyu17 原来如此!说实在的,作为一个直播 app 的纯观众,头像真是可有可无的,为这么个没用的功能开放那么多权限,真不值得。。。
    tcxdawn
        10
    tcxdawn  
       2017-11-08 17:15:16 +08:00
    并不是不怀好意,还有可能是例如分享图片的功能,文件放在应用自身目录应该是分享不出去的,需要把图片放到 sd 卡中。
    ps:恩..如果可以的话,是我技术渣,顺便告诉我下怎么处理,我也不是很想让用户给这个权限
    nn574204775
        11
    nn574204775  
       2017-11-09 08:48:57 +08:00 via Android
    @tcxdawn 用 FileProvider 但是 QQ 这种辣鸡会不支持(但是还是有办法的
    nn574204775
        12
    nn574204775  
       2017-11-09 08:49:25 +08:00 via Android
    @caixiangyu17 _(:з」∠)_ 你这么乱说合适吗
    des
        13
    des  
       2017-11-26 12:31:41 +08:00 via Android
    @karia 让我告诉你,为啥要存储权限。
    你去 sd 卡目录的 Android 目录看看带点开头的文件就知道了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     953 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 19:27 PVG 03:27 LAX 12:27 JFK 15:27
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86