アプリケーションのメイン アクティビティ クラスまたはクラス名を取得するにはどうすればよいですか?
どうもありがとう!
クラス名を取得する方法を説明してくれた Lee に感謝します。コードは次のとおりです。
String packageName = context.getPackageName();
Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage(packageName);
String className = launchIntent.getComponent().getClassName();
ランチャー アクティビティを取得するには、http://developer.android.com/reference/android/content/pm/PackageManager.html#getLaunchIntentForPackage(java.lang.String )を使用します。
getLaunchIntentForPackage
この Intent 呼び出しgetComponentName
で、返された CompomemtName 呼び出しからgetClassName
http://developer.android.com/reference/android/content/ComponentName.html
メインアクティビティに変数を設定するだけです...public static Activity activity = this;
次に、を使用してどこからでも参照できますMainActivity.activity
。
onCreate() メソッドで設定することもできます。このようにメイン アクティビティ クラスの先頭に変数を設定してからpublic static Activity activity;
、onCreate() メソッドで任意の場所に追加しactivity = this;
ます。
これは、Activity を拡張するすべてのクラスで機能します。たとえば、Activity を拡張public class MainActivity extends Activity
しないクラスからでも変数を呼び出すことができます。
お役に立てれば。