Android 9 权限管理问题

2019-09-22 09:37:23 +08:00
 pangtianyu

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

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

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

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

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

9514 次点击
所在节点    Android
14 条回复
Bwoywan
2019-09-22 09:58:09 +08:00
pie 有 edxposed,貌似还是支持 privacy lua (忘记名字了),就是对指定 app 请求返回随机数值,
appops 还是能用,应该,但是这个无法验证,这个 app 是直接拒绝返回,那么一些 app 如果是没有得到返回值就不让用的也没办法了。
iPhoneXI
2019-09-22 11:25:34 +08:00
App Ops 是绝对管用的,
还有一种办法的是三星自家的安全文件夹或者开源的 island,打开之后就是一个独立的用户,把乱七八糟的国产 app 放进去,给了权限也获取不到什么数据
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
2019-09-22 13:34:01 +08:00
Pie 本身就有权限管控机制设置。
iPhoneXI
2019-09-22 15:11:11 +08:00
@grittiness 国产的问题,Android 10 对第三方彻底不返回 IMEI 后,ov 这些国产还弄了个口子可以获取
bkmi
2019-09-22 15:14:36 +08:00
先尝试用 App Ops 吧,毕竟是系统提供的机制,大部分应用都 OK, 只少部分应用拿不到数据没法继续运行。
(ED)Xposed 太过于折腾,而且系统稳定性流程都有影响。不是很建议


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

需要 target Q,那有 app 上来就跟进的,用户升级率还那么低呢
varint
2019-09-22 17:58:40 +08:00
@azh7138m 你试了么?
我的 Pixel 升级到 Q,随机装了几个 Play Store 里的 device info 类 app,好几个更新日期停留在几年前,授予电话权限都获取不到 IMEI。
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
2019-09-22 19:34:57 +08:00
appops 或 Q 能解决(除少数国产应用外的) IMEI 问题,要解决存储空间里的.deviceid 这样的💩文件必须要 root。

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

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

文档里面写的很清楚啊:-)
azh7138m
2019-09-22 19:48:20 +08:00
@Buges 啊,我还以为 placeholder data 是一份有效的数据
bandian
2019-09-22 20:17:59 +08:00
我手机用 magisk 给 appops 的超级权限,大多数应用都比较正常,但是 QQ 极速版的通知我在 appops 里禁用之后,依然会弹出消息通知,必须手动在系统设置里关掉才行,不知道是怎么回事
bkmi
2019-09-23 10:50:20 +08:00
@Buges 我知道 appops 是 Android 本身的机制,但并没有开放设置,甚至接口都没开放,他说 Pie 有提供还以为有什么新的机制

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/602991

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX