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

2022 年 11 月 2 日
 clrss

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

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

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

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

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

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

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

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

© 2021 V2EX