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

为什么国产 APP 喜欢声明闪光灯权限?

  •  
  •   dingwen07 · 357 天前 via Android · 7414 次点击
    这是一个创建于 357 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 Google Play 看了下常见的国产应用所声明的权限,发现几乎所有都声明了 'android.permission.FLASHLIGHT'。这个权限只能用来控制闪光灯,而获取'android.permission.CAMERA'之后也能控制闪光灯,和就是说想要控制闪光灯而不希望激活相机才有必要申请这个权限。

    QQ

    WeChat

    Taobao

    Alipay

    48 条回复    2020-12-14 18:03:46 +08:00
    superrichman
        1
    superrichman  
       357 天前 via iPhone   ❤️ 14
    可能是收到消息触发闪光灯的功能。

    也可能是...

    A:我不知道这是什么,就找网上的代码抄的,最后居然还能用,老板很高兴。

    B:这么巧,我也是在那里抄的。🐶
    dingwen07
        2
    dingwen07  
    OP
       357 天前 via iPhone
    @superrichman #1 不只是 im 软件,闲鱼、pdd 、俩地图、钉钉、优酷、手机百度都有。我还没看到哪个国产 app 没申请这个权限。
    lloovve
        3
    lloovve  
       357 天前 via iPhone   ❤️ 9
    扫码
    Cheons
        4
    Cheons  
       357 天前 via Android   ❤️ 2
    我全都要
    CrazyBoyFeng
        5
    CrazyBoyFeng  
       357 天前
    @dingwen07 好像你举的例子也都要了摄像头权限。
    CrazyBoyFeng
        6
    CrazyBoyFeng  
       357 天前   ❤️ 1
    如果不是楼主说的话,我也不知道原来摄像头权限包含闪光灯权限。
    保险起见我可能会都声明一遍。
    fatedier
        7
    fatedier  
       357 天前   ❤️ 3
    晚上扫二维码的时候通常会自动识别开启闪光灯
    dontmind
        8
    dontmind  
       357 天前 via Android   ❤️ 1
    @CrazyBoyFeng 这样做会导致平板,chromebook 无法安装。
    dingwen07
        9
    dingwen07  
    OP
       357 天前 via iPhone
    @CrazyBoyFeng #5 谷歌地图,申请了相机权限,拍照的时候可以调用闪光灯,没有显示声明了闪光灯权限。

    @lloovve
    @fatedier
    没有相机权限应该扫不了二维码,有相机权限不需要闪光灯权限就可以点亮闪光灯。
    binux
        10
    binux  
       357 天前 via Android
    @dingwen07 或许他们不知道,看到有就申请了呢。
    woyaojizhu8
        11
    woyaojizhu8  
       357 天前
    反正申请没成本
    lihongming
        12
    lihongming  
       357 天前   ❤️ 2
    开发者们基本不会精细管理这些权限,都是公司里现成的文件复制粘贴进去的,管它用得着用不着……
    proxychains
        13
    proxychains  
       357 天前
    反正有没有用的都申请,恶心.我用第三方软件都给禁了,手机识别码位置摄像头麦克风通讯录
    emeab
        14
    emeab  
       357 天前
    能申请就申请了 万一领导那天拍了拍头说要用到呢
    ArrayBuffer
        15
    ArrayBuffer  
       357 天前
    在黑暗场景下扫码时的确是需要闪光灯的, 当然这些 app 会不会自动打开就不一定了
    bankroft
        16
    bankroft  
       357 天前   ❤️ 1
    不了解安卓开发,会不会是老版本安卓权限相机和闪光灯是分开的
    justNoBody
        17
    justNoBody  
       357 天前
    @bankroft 这个观点不错 还可以思辨一下 哈哈哈
    imn1
        18
    imn1  
       357 天前
    我有个问题:
    这些权限声明是主动填写的么(不是指代码内)?还是有接口检测到调用了,就列出来
    后者的话,google play 检测到被动列出来很正常吧

    例如代码调用某个权限,它有几个子项,google play 检测到把各个子项一并列出来给用户知道,这很正常吧
    我看到 LZ 举的例子,都有摄像头权限,那子项闪光灯一并列出不奇怪啊
    llsquaer
        19
    llsquaer  
       357 天前
    阴谋论患者 : 偷偷拍照的时候避免闪光灯自己亮了,先获取权限关闭. --没写过安卓
    codehz
        20
    codehz  
       357 天前
    @imn1 #18 在清单上写了的权限才能用,代码用了没声明的就直接跪了
    (当然现在部分权限写了也不管用,得运行时申请一下)
    yousabuk
        21
    yousabuk  
       357 天前 via iPhone
    不是喜欢,而是基于提供了什么申请就申请什么,反正全申请就对了……这是毛病。
    hoyixi
        22
    hoyixi  
       357 天前
    与其匹配的是:摄像头权限~
    leaves7i
        23
    leaves7i  
       357 天前
    @imn1 #18 需要主动填写,有专门一个文件负责。部分权限允许 /要求应用运行时进行申请
    imn1
        24
    imn1  
       357 天前
    @codehz
    @leaves7i
    嗯,了解了
    Alwaysonline
        25
    Alwaysonline  
       357 天前
    估计心态跟我申请微信开放平台类似,管它有用没用,1 次全申请了,万一用得着。
    Tecrafter
        26
    Tecrafter  
       357 天前
    在 AndroidManifest 文件中声明权限,如<uses-permission android:name="android.permission.INTERNET" />
    以前是声明了就有了,现在的权限分组了,危险权限需要运行时申请,也就是弹出那个授权窗的过程。
    Tecrafter
        27
    Tecrafter  
       357 天前
    calloc
        28
    calloc  
       357 天前 via iPhone
    有些库有,你引进去,你的 app 也就有了
    Coioidea
        29
    Coioidea  
       357 天前
    @Alwaysonline 真就开放平台呗。
    国内应用没有对权限的有效管理约束
    tesguest123
        30
    tesguest123  
       357 天前 via iPhone
    全都要,万一哪天用上
    kingfalse
        31
    kingfalse  
       356 天前 via Android
    国产的正常,没有不要的
    raaaaaar
        32
    raaaaaar  
       356 天前 via Android
    软件好不好,先看他的权限就能判断一半
    zmaplex
        33
    zmaplex  
       356 天前 via Android
    有些 sdk 自己声明的
    Hack3rHan
        34
    Hack3rHan  
       356 天前 via iPhone   ❤️ 1
    我不懂安卓开发,有没有国产 App 开发能解释一下,为啥数据不放 Android/data/包名下面,而非要申请个存储空间权限然后放外面?
    des
        35
    des  
       356 天前 via iPhone   ❤️ 1
    @Hack3rHan 我感觉有以下几个原因
    1 懒,抄代码的时候就是这么写的 能用,懒得改。自己去找文件也不用翻很深
    2 app 删除之后要保留信息,这个不是照片之类的东西
    4 sdk 搞得东西,多是为了追踪用户,以及其他目的,这种的最讨厌了
    BoiledEgg
        36
    BoiledEgg  
       356 天前
    我感觉是不是跟那个常用的二维码扫描库 zxing 有关

    https://github.com/zxing/zxing/blob/master/android/AndroidManifest.xml

    你觉得只有国内 app 都要,大概是国内二维码普及的比较广吧
    spcharc
        37
    spcharc  
       356 天前
    这也是为什么我的手机(当然是安卓机)上完全没有国产 app
    yingfengi
        38
    yingfengi  
       356 天前 via Android
    @bankroft 有道理
    fanguangwei
        39
    fanguangwei  
       356 天前
    先要了再说
    laravel
        40
    laravel  
       356 天前
    先把茅坑占了再说
    jim9606
        41
    jim9606  
       356 天前
    因为你不知道那些野路子 ROM 会出奇怪的 bug,不同时声明这两个权限就用不了闪光灯。
    反正多写一句也不会影响用户使用。
    yukiww233
        42
    yukiww233  
       356 天前
    查了下 google 的文档,这是个不存在的权限啊....要声明也是 uses-feature 不是 uses-permission
    onionnews
        43
    onionnews  
       355 天前 via iPhone
    暗光环境扫码 有闪光灯开关
    siyemiaokube
        44
    siyemiaokube  
       355 天前 via iPhone   ❤️ 1
    现在的很多人类已经失去了阅读文字的能力吗?

    >这个权限只能用来控制闪光灯,而获取'android.permission.CAMERA'之后也能控制闪光灯
    yexiaoxing
        45
    yexiaoxing  
       355 天前 via iPhone
    hahaandyou001
        46
    hahaandyou001  
       355 天前 via Android
    @Hack3rHan 再说就是“教我做产品”了😂
    kun775
        47
    kun775  
       355 天前
    国内产品:我要申请权限,不取决于我需要哪些权限,而是取决于系统提供了哪些权限。
    bclerdx
        48
    bclerdx  
       355 天前
    @Hack3rHan 同样有这个问题+1 。比如新浪微博就不放在规定的地方,而放在外边申请存储权限的。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2208 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:27 · PVG 19:27 · LAX 03:27 · JFK 06:27
    ♥ Do have faith in what you're doing.