最近项目正在将原系统拆分为小型App,所以需要在原Project中启动另一个新的App中的Activity。这样的话启动要用到ComponentName ,它就是用来打开其他应用程序中的Activity或服务的。
用法其实很简单,像下面这样:
1 | //第一个参数是Activity所在的package包名,第二个参数是完整的Class类名(包括包路径) |
我们来看源码中ComponentName的参数信息,pkg和cls均不能为null。此处特别注意第二个参数cls必须为 完整的Class类名。
1 | /** |
另外,在调用的时候一定要保证在Manifest.xml中设置被启动Activity的exported=true,否则会报错Activity is not found.