如何获取我的应用程序的主要Activity类或类名?
非常感谢!
答案 0 :(得分:18)
感谢Lee解释如何获取类名,这是代码:
String packageName = context.getPackageName();
Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage(packageName);
String className = launchIntent.getComponent().getClassName();
答案 1 :(得分:13)
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。
希望这有帮助。