下文皆使用Client表示操作的App,Server表示需要被唤起的远端App,Server的包名为“com.jxx.server”
1. ComponentName
使用ComponentName唤起Server步骤很简单,需要注意的是Server的Activity需要在manifest配置种设置exported为true
Server的配置如下:
<activity android:name="com.jxx.server.ServerActivity"
android:exported="true"/>
Client调用如下:
Intent intent1 = new Intent();
ComponentName componentName = new ComponentName("com.jxx.server", "com.jxx.server.ServerActivity");
intent1.setComponent(componentName);
intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent1);
Intent中添加ComponentName还有另外一种写法
Intent intent2 = new Intent();
intent2.setClassName("jxx.com.server", "jxx.com.server.MainActivity");
intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent1);
只不过setClassName内部帮我们new ComponentName的