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

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

  •  
  •   dingwen07 · 2020-12-11 23:17:23 +08:00 via Android · 10832 次点击
    这是一个创建于 1231 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    QQ

    WeChat

    Taobao

    Alipay

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

    也可能是...

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

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

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

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

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

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

    >这个权限只能用来控制闪光灯,而获取'android.permission.CAMERA'之后也能控制闪光灯
    yexiaoxing
        45
    yexiaoxing  
       2020-12-14 02:32:22 +08:00 via iPhone
    hahaandyou001
        46
    hahaandyou001  
       2020-12-14 07:22:20 +08:00 via Android
    @Hack3rHan 再说就是“教我做产品”了😂
    kun775
        47
    kun775  
       2020-12-14 09:11:42 +08:00
    国内产品:我要申请权限,不取决于我需要哪些权限,而是取决于系统提供了哪些权限。
    bclerdx
        48
    bclerdx  
       2020-12-14 18:03:46 +08:00
    @Hack3rHan 同样有这个问题+1 。比如新浪微博就不放在规定的地方,而放在外边申请存储权限的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2773 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 15:41 · PVG 23:41 · LAX 08:41 · JFK 11:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.