PackageInstallerActivity到PMS过程
PackageInstallerActivity:
从上一篇文章中,我们分析到用户安装apk的点击确认安装和取消安装界面,这个界面还可以选择apk的权限,下面从确定安装的点击事件开始分析:点击确定后会调用startInstall()
private void startInstall() {
// Start subactivity to actually install the application
Intent newIntent = new Intent();
...
newIntent.setClass(this, InstallInstalling.class);
startActivity(newIntent);
finish();
}
InstallInstalling:
点击确认安装后会进入,会启动InstallInstalling这个activity;
InstallInstalling.onCreate()
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
setContentView(R.layout.install_installing);
...
mSessionId = getPackageManager().getPackageInstaller().createSession(params);
}
在onCreate中主要是创建了一个Session对象,并且返回了一个对应的SessionId;
InstallInstalling.onResume()
protected void onResume() {
super.onResume();
// This is the first onResume in a single life of the activity
if (mInstallingTask