Androidでアクティビティの存在を判定する
Activityの存在を判断するにはPackageManagerクラスのgetActivityInfoメソッドを使用できます。最初に、PackageManagerのインスタンスを取得し、その後、getActivityInfoメソッドを呼び出し、Activityの完全なクラス名とPackageManagerのGET_ACTIVITIESフラグを渡します。Activityが存在する場合、ActivityInfoオブジェクトが返されます。存在しない場合は、PackageManager.NameNotFoundException例外がスローされます。
以下はサンプルコードです。
String activityClassName = "com.example.myapp.MainActivity";
PackageManager packageManager = getPackageManager();
try {
ActivityInfo activityInfo = packageManager.getActivityInfo(new ComponentName(this, activityClassName), PackageManager.GET_ACTIVITIES);
// Activity存在
// 可以执行相关操作
} catch (PackageManager.NameNotFoundException e) {
// Activity不存在
// 可以执行其他操作
}
サンプルコード中の「com.example.myapp.MainActivity」を、判断したいアクティビティの完全なクラス名に変更してください。