Android官方Contacts应用的Widget声明及初始化方式咨询
你在主Contacts仓库找不到Widget相关声明的核心原因是最新版AOSP的Contacts应用采用了模块化拆分架构,Widget相关的完整实现并没有放在主Contacts应用仓库中:
- Widget的
AndroidManifest.xml声明、<appwidget-provider>配置文件、对应的AppWidgetProvider实现类,全部存放在独立的公共依赖库ContactsCommon中。 - 主Contacts应用构建时会通过Android构建套件的Manifest合并机制,把依赖库中声明的组件、权限等配置自动合并到最终生成的APK的AndroidManifest.xml里,因此你直接查看主仓库根目录的AndroidManifest.xml自然看不到Widget相关的声明。
- 同理,
<appwidget-provider>对应的XML配置文件也在依赖库的res/xml路径下,不会出现在主Contacts仓库的资源目录中。
如果要查看完整的Widget实现逻辑,同步拉取AOSP中的platform/packages/apps/ContactsCommon仓库对应分支的代码即可找到相关代码。
内容的提问来源于stack exchange,提问作者qarasique
相关产品推荐
相关产品推荐

