11

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

非常感谢!

4

4 回答 4

21

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

String packageName = context.getPackageName();
Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage(packageName);
String className = launchIntent.getComponent().getClassName();
于 2013-05-17T11:40:51.853 回答
17

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

于 2012-05-13T20:24:16.270 回答
1

这在 Kotlin 中非常适合我:

callingActivity::class.simpleName

或在 Java 中:

activity.getClass().getSimpleName()
于 2021-03-09T06:57:07.567 回答
-2

我只是在我的主要活动中设置了一个变量,就像这样......public static Activity activity = this;然后我可以从任何地方使用它来引用它:MainActivity.activity

您也可以在 onCreate() 方法中设置它,只需像这样在主活动类的顶部设置变量,public static Activity activity;然后在 onCreate() 方法中添加activity = this;任何位置。

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

希望这可以帮助。

于 2012-11-10T21:57:12.337 回答