安卓下普通 app 貌似可以随意获取已安装 app 列表

2022-11-02 11:00:32 +08:00
 clrss

系统: 鸿蒙 2.0 (安卓 10), 后续版本不明.

这很危险吧. 某些软件是不是要改包名&自己打包比较好?

话说 iOS 下普通 app 能这样吗?

11695 次点击
所在节点    Android
34 条回复
ysc3839
2022-11-02 18:11:22 +08:00
@PolarNightUnion 在 MIUI Android 12 测试了一下,拒绝“读取应用列表”权限后仍然能读取到应用列表。该 app 的 target api 是 Android 10 ,不确定 target api 是 Android 11 时有没有这个问题。
PolarNightUnion
2022-11-02 18:19:00 +08:00
@ysc3839 不靠权限获取这些信息的,这个我当时改机的时候就测试过了,你改啥都是 hook 返回你修改的值,但这玩意是靠各种 API ,和各种骚操作实现的,有能力的大佬可以解个包研究一下。
ysc3839
2022-11-02 18:22:33 +08:00
@WOLFRAZOR 我说的多用户只是为了防止读取到应用。实测对某个 app 开启 MIUI 的应用双开后,把主用户中该 app 卸载掉,然后用 17 楼提到的 app 读取应用列表,是读不到双开应用的。但如果把 17 楼提到的 app 双开后运行,反而能读取到主用户的应用列表。
Damn
2022-11-02 18:30:42 +08:00
@PolarNightUnion 万普拉斯的 ColorOS12 闪退。。
ysc3839
2022-11-02 18:50:10 +08:00
@PolarNightUnion 反编译看了下,就是使用 android.content.pm.PackageManager.getInstalledApplications() 读取的,不知道为什么 MIUI 的读取应用列表权限无效。
abc8678
2022-11-02 21:30:54 +08:00
@PolarNightUnion “隐藏应用列表”我是在酷安听说的,目前用来忽略更新。因为 play 商店没有这个功能
abc8678
2022-11-02 21:32:01 +08:00
@ysc3839 appops 呢?
WebKit
2022-11-03 02:21:24 +08:00
安卓这个是默认给的权限,可以在权限设置里关,好像 Android13 有限制了,默认不能访问安装列表了。
WebKit
2022-11-03 02:27:26 +08:00
其实根本不需要任何权限,直接构建相应包名的 intent 就好了,报错就是没有安装,没有报错就是安装了
Biye9012
2022-11-03 09:01:27 +08:00
@paradoxs 何出此言
Woodrow
2022-11-03 09:06:21 +08:00
是,emui 、MIUI 是给的,要么直接授予,要么使用 app 时授予
ysc3839
2022-11-03 11:31:31 +08:00
@abc8678 AOSP 就没支持读取应用列表权限。
maokabc
2022-11-03 18:22:40 +08:00
谷歌 play 需要视频说明这个权限用在哪
Joshuahui
2022-11-23 11:18:31 +08:00
几年前的红米手机权限里有这个,原生 Android13 没有😅

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

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

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

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

© 2021 V2EX