1.概述
在系统13.0的定制化开发中,对于在app中调用安装第三方app的时候,会在这时弹出安装未知来源弹窗,需要默认授予REQUEST_INSTALL_PACKAGES
权限,来安装第三方app的安装未知来源权限,所以就是今天需要解决的这个问题
2.根据包名授予OP_REQUEST_INSTALL_PACKAGES的核心类
packages/apps/Settings/src/com/android/settings/applications/appinfo/ExternalSourcesDetails.javaframeworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
3.根据包名授予OP_REQUEST_INSTALL_PACKAGES的核心功能分析和实现
PhoneWindow时Window的唯一实现类,Window抽象类中提供了用于修改LayoutParams的接口等通用功能的实现,而PhoneWindow类则负责具体的外观模板的实现,
PhoneWindowManager.java则就是负责管理PhoneWindow的核心类,所以可以在这里pws启动完毕后,默认授予安装权限的相关权限
3.1 ExternalSourcesDetails.java中关于授予未知来源权限的分析
在根据包名授予OP_REQUEST_INSTALL_PACKAGES的核心功能中,在上述的相关源码分析中,在从系统设置的应用详情页,发现未知来源权限具体是ExternalSourcesDetails.java里面的详情功能,所以需要
在ExternalSourcesDetails.java中分析授予未知来源权限的相关api来实现功