前提是知道启动程序的包名、启动活动的类名、以及相应的 IntentFilter 匹配条件。
调用方式如下:
Intent intent = new Intent();
intent.setAction("com.feng.test2activity.main"); // 要启动活动的 action 过滤条件
String packageName = "com.feng.test2activity"; // 要启动应用程序的包名
String className = "com.feng.test2activity.MainActivity"; // 要启动的活动类名
ComponentName componentName = new ComponentName(packageName, className);
intent.setComponent(componentName);
startActivity(intent);
要启动的程序的活动:
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="com.feng.test2activity.main"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>