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

Android 9 权限管理问题

  •  
  •   pangtianyu · 2019-09-22 09:37:23 +08:00 · 12258 次点击
    这是一个创建于 1883 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚买了一台 S10+ 来玩一下,系统是 Android 9 和 One UI 1.1 版本。

    想了解一下现在 Android 手机的权限管理方法,防止某些 App 获取过多权限。

    在 V2EX 过往主题搜索了一下,发现大致有如下方法:

    1. App Ops (好像说对于某些 App 还是不管用);
    2. Xposed, Xprivacy 等等 (好像已经不支持 Android 9 了,而且似乎需要获取 root 权限)。

    想请教一下还有没有别的方法或者对以上两种方法说一下感受。😂😂

    14 条回复    2019-09-23 10:50:20 +08:00
    Bwoywan
        1
    Bwoywan  
       2019-09-22 09:58:09 +08:00   ❤️ 1
    pie 有 edxposed,貌似还是支持 privacy lua (忘记名字了),就是对指定 app 请求返回随机数值,
    appops 还是能用,应该,但是这个无法验证,这个 app 是直接拒绝返回,那么一些 app 如果是没有得到返回值就不让用的也没办法了。
    iPhoneXI
        2
    iPhoneXI  
       2019-09-22 11:25:34 +08:00   ❤️ 2
    App Ops 是绝对管用的,
    还有一种办法的是三星自家的安全文件夹或者开源的 island,打开之后就是一个独立的用户,把乱七八糟的国产 app 放进去,给了权限也获取不到什么数据
    grittiness
        3
    grittiness  
       2019-09-22 13:33:51 +08:00
    @iPhoneXI 其实不一定。。 我测试过,在一加的 Oxygen OS ( Android 9 )上,对一个 APP 在系统里面允许获取电话权限,在 App Ops 禁用电话状态的权限以后,APP 仍然能够获取到手机的 IMEI (怀疑一加是不是专门对这个开了特权。。。。)。

    目前在 Oxygen OS 上不让 APP 获取 IMEI,看起来只能直接在系统权限里面不给电话权限,或者用太极或者 edxposed,装 Xprivacy Lua 来禁止。

    刷第三方原生 ROM 后没有发现有 Oxygen OS 这样的问题,App Ops 能够正常禁掉电话权限。
    bclerdx
        4
    bclerdx  
       2019-09-22 13:34:01 +08:00 via Android
    Pie 本身就有权限管控机制设置。
    iPhoneXI
        5
    iPhoneXI  
       2019-09-22 15:11:11 +08:00 via Android
    @grittiness 国产的问题,Android 10 对第三方彻底不返回 IMEI 后,ov 这些国产还弄了个口子可以获取
    bkmi
        6
    bkmi  
       2019-09-22 15:14:36 +08:00
    先尝试用 App Ops 吧,毕竟是系统提供的机制,大部分应用都 OK, 只少部分应用拿不到数据没法继续运行。
    (ED)Xposed 太过于折腾,而且系统稳定性流程都有影响。不是很建议


    @bclerdx 顺便求教 Pie 本身的权限管控机制设置 指的是啥?在哪可以设置
    bclerdx
        7
    bclerdx  
       2019-09-22 15:37:48 +08:00
    @bkmi 如果是基于原生或类原生的 Android,你可在设定-应用和通知-全部-某 APP-权限。
    azh7138m
        8
    azh7138m  
       2019-09-22 15:55:51 +08:00
    @iPhoneXI
    > 对第三方彻底不返回 IMEI

    需要 target Q,那有 app 上来就跟进的,用户升级率还那么低呢
    varint
        9
    varint  
       2019-09-22 17:58:40 +08:00
    @azh7138m 你试了么?
    我的 Pixel 升级到 Q,随机装了几个 Play Store 里的 device info 类 app,好几个更新日期停留在几年前,授予电话权限都获取不到 IMEI。
    azh7138m
        10
    azh7138m  
       2019-09-22 19:22:25 +08:00
    @varint
    If your app targets Android 10 or higher, a SecurityException occurs.
    If your app targets Android 9 (API level 28) or lower, the method returns null or placeholder data if the app has the READ_PHONE_STATE permission. Otherwise, a SecurityException occurs.

    https://developer.android.com/about/versions/10/privacy/changes#non-resettable-device-ids

    文档里面写的很清楚啊
    Buges
        11
    Buges  
       2019-09-22 19:34:57 +08:00 via Android
    appops 或 Q 能解决(除少数国产应用外的) IMEI 问题,要解决存储空间里的.deviceid 这样的💩文件必须要 root。

    @bkmi appops 就是 Pie (或者说 Android )本身的机制,有个同名的 app 相当于是它的前端。Los 系系统内置的 Privacy Guard 也是。

    @azh7138m
    如果你的 app target 小于 28,授予电话权限后方法返回 null 或占位符。

    文档里面写的很清楚啊:-)
    azh7138m
        12
    azh7138m  
       2019-09-22 19:48:20 +08:00
    @Buges 啊,我还以为 placeholder data 是一份有效的数据
    bandian
        13
    bandian  
       2019-09-22 20:17:59 +08:00 via Android
    我手机用 magisk 给 appops 的超级权限,大多数应用都比较正常,但是 QQ 极速版的通知我在 appops 里禁用之后,依然会弹出消息通知,必须手动在系统设置里关掉才行,不知道是怎么回事
    bkmi
        14
    bkmi  
       2019-09-23 10:50:20 +08:00
    @Buges 我知道 appops 是 Android 本身的机制,但并没有开放设置,甚至接口都没开放,他说 Pie 有提供还以为有什么新的机制
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   915 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:50 · PVG 04:50 · LAX 12:50 · JFK 15:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.