方法一:使用ComponentName实现跨进程
ComponentName componentName=new ComponentName("com.example.vvgool","com.example.vvgool.MainActivity");
intent.setComponent(componentName);
startActivity(intent);
需要注意的是:在调用启动activity的时候这样不修改所调用的应用是没问题的,但是如果调用应用的非启动activity问题就来了,错误提示:需要权限,所以说在调用应用为非启动activity的时候需要在androidManifest.xml中所在声明activity中加入android:exported="true"这样就可以了。
方法二:指定Action实现跨进程
修改androidManifest.xml ,在需要调用activity中加入
这里action 中的name你就自己写吧。。 调用代码:
Intent intent=new Intent("main");
startActivity(intent);
使用这种方法无论是否加入android:exported="true"都是可以使用的
Activity的跨进程访问需要指定的是要访问的Activity所对应的Action(一个字符串)。有些Activity还需要指定一个Uri(通过 Intent构造方法的第2个参数指定)。
在android系统中有很多应用程序提供了可以跨进程访问的Activity,例如,调用拨打电话的Activity。
Intent callIntent &