热加载第三方应用的View,实现动态修改宿主应用
这里是Demo,也就是前期的技术预言,所以不需要做一个完整的项目。
要点:能够加载到第三方apk里面的View,并且显示出来,同时可以操作,进行数据交互。
- 有宿主,和第三方APK
- 第三方apk已经安装,所在目录是/system/app/
- 能够进行数据交互,除了简单的点击以外,还可以进行复杂的操作。
实现过程
创建一个宿主项目,对应的也是我们以后的Launcer,我们暂且起名为PretendLauncherDemo
我们加载一个界面需要上下文吧,所以就有了:
//获取TestB的Context
private Context getRemoteContext(String packageName) throws PackageManager.NameNotFoundException {
return createPackageContext(packageName,Context.CONTEXT_IGNORE_SECURITY | Context.CONTEXT_INCLUDE_CODE);
}
这个方法就是通过包名获取到对应app的上下文对象。
但是要注意的时,通过这个上下文获取到的Ap