[Android] 外部パッケージのActivityを呼び出す方法

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.

[参考]

Intent | Android Developers

Android Intentで画面遷移する(明示的Intent) | Tech Booster