首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
华为云
V2EX  ›  全球工单系统

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

  •  
  •   azh7138m · 70 天前用 Android 发布 · 2948 次点击
    这是一个创建于 70 天前的主题,其中的信息可能已经有所发展或是发生改变。
    权限是 read phone status and indentity,使用 app ops 忽略这个权限之后无法使用 app,
    不清楚这个设计是为什么,微信 支付宝 淘宝禁用这个权限之后可以正常使用
    第 1 条附言  ·  68 天前

    大概是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.

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

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

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

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

    PS for Android developers: 其实如果不是特别要求的话,可以考虑在安装时利用 UUID.randomUUID()生成一个随机唯一 ID,可以解决大多数问题,这样就不用请求敏感权限,省的甚至都被程序员喷了
        36
    zthinking   68 天前
    手头的华为可以单独开 imei 权限,不用把整个通讯录都授权
        37
    hhsuan   68 天前
    @amew #35 anroid 里提供了获取唯一设备 ID 的 API。
        38
    azh7138m   68 天前
    @amew Settings.Secure.ANDROID_ID
    只是大家不愿意使用,很奇怪,国内安卓开发似乎停留在 4.X 的时代
        39
    ysc3839   68 天前
    @amew Android 有 AndroidID,获取 IMEI 不是因为没有提供,而是因为开发商想在应用重新安装或者手机重置后继续跟踪用户。iOS 没提供任何唯一 ID,那些软件也不是不能运行。
        40
    zjddp   68 天前
    无非是现在没办法获取相对可靠的用户唯一标识了。这一点上不吹不黑,水果安卓半斤八两。
        41
    azh7138m   68 天前 via Android   ♥ 1
    @ysc3839 iOS 现在提供了,只能存有限的两个标志位
        42
    amew   67 天前
    @azh7138m ANDROID_ID 有时也会出问题的,概率性出现 ID 重复的问题,这个锅得国内厂商来背
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   656 人在线   最高记录 3821   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 24ms · UTC 21:45 · PVG 05:45 · LAX 13:45 · JFK 16:45
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1