インテントにエクストラを入れずに、インテントを起動したアクティビティのクラス名を取得する方法はありますか?
次のコードを使用して、他のアクティビティを起動します。
Intent intent = new Intent(CallerClass.this, TargetClass.class);
startActivity(intent);
ターゲット クラスで呼び出し元クラスの名前を取得できますか?
インテントにエクストラを入れずに、インテントを起動したアクティビティのクラス名を取得する方法はありますか?
次のコードを使用して、他のアクティビティを起動します。
Intent intent = new Intent(CallerClass.this, TargetClass.class);
startActivity(intent);
ターゲット クラスで呼び出し元クラスの名前を取得できますか?
これを行う 1 つの方法は、startActivityForResult()代わりに をstartActivity(Intent)使用してから、2 番目のアクティビティでgetCallingActivity()を取得することCallerClassです。
String packageName = context.getPackageName();
Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage(packageName);
String className = launchIntent.getComponent().getClassName();