工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
• 如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
azh7138m

网易漫画 Android 需要电话权限才能使用

  •  
  •   azh7138m · Sep 8, 2018 via Android · 6751 views
    This topic created in 2810 days ago, the information mentioned may be changed or developed.
    权限是 read phone status and indentity,使用 app ops 忽略这个权限之后无法使用 app,
    不清楚这个设计是为什么,微信 支付宝 淘宝禁用这个权限之后可以正常使用
    Supplement 1  ·  Sep 10, 2018

    大概是Android权限设计捉鸡,参考 Changes to Device Identifiers in Android O

    Instead, they can use a new Android O API, Build.getSerial(), which returns the actual serial number, as long as the caller holds the PHONE permission.

    很捉鸡,有没有大佬说下为啥这么设计

    43 replies    2019-02-13 21:17:36 +08:00
    zts1993
        1
    zts1993  
       Sep 8, 2018
    活捉法师
    green15
        2
    green15  
       Sep 9, 2018 via iPhone
    网易的东西背后各种小动作很多的……
    throns
        3
    throns  
       Sep 9, 2018 via Android
    活捉两位校友
    remon
        4
    remon  
       Sep 9, 2018 via Android
    微信和淘宝你确定不给权限能用?
    azh7138m
        5
    azh7138m  
    OP
       Sep 9, 2018 via Android
    @remon 使用 app ops 忽略这个权限
    写作 deny,读作 ignore
    palxie
        6
    palxie  
       Sep 9, 2018   ❤️ 1
    这个权限问题应该不大吧,通常是获取手机 iemi 等信息, 并不是读取通讯录权限, 但是没权限就不允许用网易就有点夸张了
    ks3825
        7
    ks3825  
       Sep 9, 2018 via Android
    一般遇到这种,我选择弃用
    loveour
        8
    loveour  
       Sep 9, 2018
    越发觉得权限设计不合理,应该更细分。国内没有大流氓治这些厂商,其实按理说应用商店应该不允许这样的 App 上架的。不过说到底是隐私保护的法律不健全,光要求必须保护好隐私,却不规定不允许随便搜集隐私,那还能保护个蛋了。我是专门有一台手机用来随便安装这些应用。
    azh7138m
        9
    azh7138m  
    OP
       Sep 9, 2018 via Android
    @loveour 国内应用商店才不管这些,网易也少有 app 能上架 play
    DeweyReed
        10
    DeweyReed  
       Sep 9, 2018
    READ_PHONE_STATE:允许该应用访问设备的电话功能。改权限可让该应用确定本机号码和设备 ID、是否处于通话状态以及拨打的号码。
    很多厂商主要用这个权限确定设备 ID。估计是防止虚拟机、机器人什么的。
    azh7138m
        11
    azh7138m  
    OP
       Sep 9, 2018 via Android
    @DeweyReed 道理我都懂,可是网易阅读 支付宝 淘宝 微信在忽略这个权限后都是可以正常使用的
    woyaojizhu8
        12
    woyaojizhu8  
       Sep 9, 2018
    无法使用,提示什么?网易其他 app 也这样吗?
    kassadin
        13
    kassadin  
       Sep 9, 2018
    首先这个权限描述过大,一般都是用来获取唯一标识的,第三方 SDK Bug 统计、推送、IM 等通常都会要这个权限,所以从应用的代码角度来说,强行要权限容错处理上更简单。

    当然不排除大厂需求旺盛,要到这种特殊权限后加上隐藏 API 等真的会拿你各种数据…
    loveour
        14
    loveour  
       Sep 9, 2018
    @azh7138m #5 如果整个社会对隐私重视度不够,商店确实也没动力管。这个应该从法律层面来要求的,可惜。
    tadtung
        15
    tadtung  
       Sep 9, 2018 via Android
    国内 app 很多都是这样。
    前几天下了个小米的就是。一堆权限,定位,短信读取等。。。关键还是这些对于 app 都没什么用处,不给权限 app 打不开。。。干脆卸载了,用 ios 版本的。
    XinLake
        16
    XinLake  
       Sep 9, 2018 via Android
    这个权限很多时候是为了读取一个和手机关联的唯一 ID 号,移动网络能够保证这个 ID 号全网唯一。这个权限的能力不大,如果 App 视图读取通讯录、拨打 /接听电话,App 还要请求其他的权限。

    不过这个权限可以不用的。很早的时候一些 ID 生成算法就能够保证即使 10 年不停地生成也仅有亿分之一的概率重复。即使重复,App 和服务器通信时发现重复可以再次生成一个,没有任何计算负担。
    remon
        17
    remon  
       Sep 9, 2018 via Android
    @azh7138m 抱歉没看到 appops,应该是多加了一步判断字段是不是为空,这个不 root 没办法了
    fengleidongxi
        18
    fengleidongxi  
       Sep 9, 2018
    @remon ROOT 用什么办法? XP 吗?
    fengleidongxi
        19
    fengleidongxi  
       Sep 9, 2018
    @azh7138m 再补充一眯,这个权限可以获取 imsi。如果不喜欢以后可以选择 web 或者收费应用
    huclengyue
        20
    huclengyue  
       Sep 9, 2018 via Android
    @XinLake 生成的 ID 不能保证在一台设备上的唯一性
    huclengyue
        21
    huclengyue  
       Sep 9, 2018 via Android
    可以用 AndroidID 代替 但是 AndroidID 手机重置后就会改变。但是万一出个什么邀请送积分的活动估计真有人不断重置来注册,所以大部分都用这个来做为唯一 ID 这样不管你有没有登陆,卸载或者重置系统你的数据都会在。。emmmm 作为开发者我不反对用这个 ID
    XinLake
        22
    XinLake  
       Sep 9, 2018 via Android
    @huclengyue 这个 ID App 生成一次就可以保存,以后就用存储的 ID。虽然可以改,但是除了开发者,一般人不会动到那里,有时候还是很适合的。
    remon
        23
    remon  
       Sep 9, 2018 via Android
    @fengleidongxi 是的啊,appops 类的我知道的都是返回空值
    hhsuan
        24
    hhsuan  
       Sep 9, 2018 via Android
    这锅要谷歌来背
    taikobo
        25
    taikobo  
       Sep 9, 2018
    这个设计就是为了获取你的隐私
    不爽不要用
    irainsoft
        26
    irainsoft  
       Sep 9, 2018
    感觉 Android 应该是需要专门出一个获取 IMEI 之类信息的权限 (滑稽
    lostberryzz
        27
    lostberryzz  
       Sep 9, 2018
    抱歉,用国产 App 就别谈隐私了,做个顺民少点麻烦
    fengleidongxi
        28
    fengleidongxi  
       Sep 9, 2018
    @remon 把 OP 设置成 ignore,并不是全部都有效
    fengleidongxi
        29
    fengleidongxi  
       Sep 9, 2018
    @hhsuan 这个不能让他来背,play 的大小应用有这样设计的吗?
    ByteRan
        30
    ByteRan  
       Sep 9, 2018
    获取 iemi 必须得电话权限,这锅得谷歌背。其实我们也不想啊,
    ydxred
        31
    ydxred  
       Sep 9, 2018
    ios 的貌似不需要。。。
    frozenthrone
        32
    frozenthrone  
       Sep 10, 2018 via iPhone
    珍爱生命远离安卓和国产 app
    aaron61
        33
    aaron61  
       Sep 10, 2018
    我这里淘宝,天猫,京东不给权限都用不了
    vibin
        34
    vibin  
       Sep 10, 2018
    买 iPhone 吧
    amew
        35
    amew  
       Sep 10, 2018
    这个锅真得谷歌来背...
    google 没有在碎片化如此严重的生态下给 Android 开发者一个能够真正全平台通用的唯一 ID 获取的方法。
    在国外,几乎每一台 android 手机都会运行有 google 框架,所以这个问题还好解决一点
    在国内,没办法,为了知道你真的是你,普通 Androider 能够想到的靠谱方法只能是去读你的 IMEI 了

    PS for Android developers: 其实如果不是特别要求的话,可以考虑在安装时利用 UUID.randomUUID()生成一个随机唯一 ID,可以解决大多数问题,这样就不用请求敏感权限,省的甚至都被程序员喷了
    zthinking
        36
    zthinking  
       Sep 10, 2018
    手头的华为可以单独开 imei 权限,不用把整个通讯录都授权
    hhsuan
        37
    hhsuan  
       Sep 10, 2018
    @amew #35 anroid 里提供了获取唯一设备 ID 的 API。
    azh7138m
        38
    azh7138m  
    OP
       Sep 10, 2018
    @amew Settings.Secure.ANDROID_ID
    只是大家不愿意使用,很奇怪,国内安卓开发似乎停留在 4.X 的时代
    ysc3839
        39
    ysc3839  
       Sep 10, 2018
    @amew Android 有 AndroidID,获取 IMEI 不是因为没有提供,而是因为开发商想在应用重新安装或者手机重置后继续跟踪用户。iOS 没提供任何唯一 ID,那些软件也不是不能运行。
    zjddp
        40
    zjddp  
       Sep 10, 2018
    无非是现在没办法获取相对可靠的用户唯一标识了。这一点上不吹不黑,水果安卓半斤八两。
    azh7138m
        41
    azh7138m  
    OP
       Sep 10, 2018 via Android   ❤️ 1
    @ysc3839 iOS 现在提供了,只能存有限的两个标志位
    amew
        42
    amew  
       Sep 11, 2018
    @azh7138m ANDROID_ID 有时也会出问题的,概率性出现 ID 重复的问题,这个锅得国内厂商来背
    qmqmoe123
        43
    qmqmoe123  
       Feb 13, 2019
    苹果保平安系列
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2991 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 98ms · UTC 12:47 · PVG 20:47 · LAX 05:47 · JFK 08:47
    ♥ Do have faith in what you're doing.