1.前言
在11.0的系统rom定制化开发中,在一些产品的定制的功能开发中,在开发产品的需求中,有要求根据白名单里面的包名来启动app,系统app不受限制,可以启动,但是在白名单以外的第三方app启动,
第三方app只有在白名单里面才可以启动,不在白名单内的app,不允许启动,这就需要根据AMS启动流程来完成这个功能
2.framework根据设置的app启动白名单限制app启动的核心类
frameworks/base/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
frameworks/base/services/core/java/com/android/server/wm/ActivityStarter.java
3.framework根据设置的app启动白名单限制app启动的核心功能分析和实现
3.1ActivityTaskManagerService.java中关于启动Activity的相关方法分析
@Override
public final int startActivity(IApplicationThread caller, String callingPackage,
String callingFeatureId, Intent intent, String resolvedType, IBinder re