android 什么时候广播意图 ACTION_PACKAGE_NEEDS_VERIFICATION?
When will android broadcasts intent ACTION_PACKAGE_NEEDS_VERIFICATION?
关于 ACTION_PACKAGE_NEEDS_VERIFICATION 意图,android 文档说:
`当包需要验证时发送到系统包验证器。数据包含包 URI。
这是一个受保护的意图,只能由系统发送。`
发现于 https://developer.android.com/reference/android/content/Intent.html#ACTION_PACKAGE_NEEDS_VERIFICATION
但是这意味着什么样的验证? android在什么样的场合或场景下会广播这种意图?
查看 recent source code(大约第 10669 行),如果安装了任何包验证程序,系统似乎会在安装新包期间广播此意图:
/*
* Determine if we have any installed package verifiers. If we
* do, then we'll defer to them to verify the packages.
*/
至于包验证器是什么以及它们做什么的解释,我的理解是它们需要拥有 PACKAGE_VERIFICATION_AGENT 权限(为系统应用程序保留),这使它们能够响应广播到 accept or reject the installation of the new package。 Google Play 商店应用是一个验证代理,似乎使用 Google 的在线应用验证服务来执行此功能。
这是一个包含 a lot of interesting information 主题的页面(以及如果您 "android package verifier" 在线搜索会出现的其他几个页面)。
关于 ACTION_PACKAGE_NEEDS_VERIFICATION 意图,android 文档说:
`当包需要验证时发送到系统包验证器。数据包含包 URI。
这是一个受保护的意图,只能由系统发送。` 发现于 https://developer.android.com/reference/android/content/Intent.html#ACTION_PACKAGE_NEEDS_VERIFICATION
但是这意味着什么样的验证? android在什么样的场合或场景下会广播这种意图?
查看 recent source code(大约第 10669 行),如果安装了任何包验证程序,系统似乎会在安装新包期间广播此意图:
/*
* Determine if we have any installed package verifiers. If we
* do, then we'll defer to them to verify the packages.
*/
至于包验证器是什么以及它们做什么的解释,我的理解是它们需要拥有 PACKAGE_VERIFICATION_AGENT 权限(为系统应用程序保留),这使它们能够响应广播到 accept or reject the installation of the new package。 Google Play 商店应用是一个验证代理,似乎使用 Google 的在线应用验证服务来执行此功能。
这是一个包含 a lot of interesting information 主题的页面(以及如果您 "android package verifier" 在线搜索会出现的其他几个页面)。