@
cathedrel Android 的权限不是像你想的那样的方式工作的,支付宝也没有想绕过权限保护。
1. 唤醒其他 App 不需要获取应用列表的权限。
2. App 之间通过 Intent 通信。在一个 app 需要另一个 app 提供协助时,不会像你想的那样,先查有哪些 app,再打开那个对应的 app 。而是通过 intent 通信描述自己需要完成的功能,然后具有对应功能的 app 就会响应 intent 。
举个例子:
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, PICK_CONTACT);
这段代码就会将 intent 广播到系统,并由具有“PICK_CONTACT”功能的 App 响应。
3. 支付宝之所以需要应用列表权限是因为要反黑产,主要是用来检测 xposed,magisk,是否 root 等。