如何获取我的应用程序的主要Activity类或类名?

时间:2012-05-13 17:53:54

标签: android

如何获取我的应用程序的主要Activity类或类名?

非常感谢!

4 个答案:

答案 0 :(得分:18)

感谢Lee解释如何获取类名,这是代码:

String packageName = context.getPackageName();
Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage(packageName);
String className = launchIntent.getComponent().getClassName();

答案 1 :(得分:13)

要使您的启动器活动使用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

答案 2 :(得分:0)

这在 Kotlin 中非常适合我:

callingActivity::class.simpleName

或在 Java 中:

activity.getClass().getSimpleName()

答案 3 :(得分:-1)

我只是在主要活动中设置了一个变量,例如...... public static Activity activity = this;然后我可以使用以下任意位置引用它:MainActivity.activity

你也可以在onCreate()方法中设置它,只需在主活动类的顶部设置变量,如public static Activity activity;,然后在onCreate()方法中添加activity = this;

这适用于任何扩展Activity的类,例如public class MainActivity extends Activity但是你可以从任何类调用该变量,即使它们没有扩展Activity。

希望这有帮助。