Android で、外部パッケージのActivityを呼び出す方法をメモ。
下記のように Intent クラスの setClassName メソッドで直接、指定すればOKです。
(例)アクティビティ com.example.spam.activity.MainActivity を呼び出す
final Intent intent = new Intent();
intent.setClassName("com.example.spam", "com.example.spam.activity.MainActivity");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
activity.startActivity(intent);
activity.finish();
ちなみに、 setClassName メソッドはいくつか引数の渡し方がありますが、今回は下記のような使い方です。
Intent setClassName(String packageName, String className)
Convenience for calling setComponent(ComponentName) with an explicit application package name and class name.
[参考]