Android基础:禁用apk流程

作者: 我在等你回复可你没回 | 来源:发表于2018-03-09 19:53 被阅读477次
image.png

禁用apk流程,在我们需要禁用一个apk时,我们会调用PackageManager的setApplicationEnabledSetting方法。下面分析其源码流程。

设置流程:

PackageManagerService.setApplicationEnabledSetting
PackageManagerService.setEnabledSetting
PackageSetting.setEnabled
PackageUserState.enabled 最后修改了PackageUserState状态

当我们启动一个禁用应用的activity时
adb shell am start -n com.ex.ex/.ablc.mm
会经过下面路径被拦截
调用流程:

ActivityManagerShellCommand.runStartActivity
ActivityManagerService.startActivityAsUser
ActivityStarter.startActivityMayWait
ActivityStackSupervisor.resolveIntent
PackageManagerService.resolveIntent
PackageManagerService.resolveIntentInternal
PackageManagerService.resolveIntentInternal
PackageManagerService.queryIntentActivitiesInternal
PackageManagerService.getActivityInfo
PackageManagerService.getActivityInfoInternal
Settings.isEnabledAndMatchLPr  //这里判断被禁用了,然后不启动

相关文章

网友评论

    本文标题:Android基础:禁用apk流程

    本文链接:https://www.haomeiwen.com/subject/hctufftx.html