android如何动态获取活动名称 ?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

我希望获取当前的名称,Activity并在一个URI的URI中发送HttpRequest。有没有办法做到这一点,而不是专门提到Activity

我知道我可以做,myActivity.class.toString()但这只是一种硬编码“myActivity”的低效方式,因为我正在为我的静态引用Activity。有没有更通用的方法来做到这一点使用像'这个'。

提问于
用户回答回答于

使用this.getClass().getSimpleName()来获取活动的名称。

从注释中,如果您处于OnClickListener(或其他内部类)的上下文中,请手动指定该类:

MainActivity.class.getSimpleName()

用户回答回答于

对于那些可能不想使用反射的纯粹主义者来说,另一种方法是使用PackageManager如下:

PackageManager packageManager = activity.getPackageManager();
try {
  ActivityInfo info = packageManager.getActivityInfo(activity.getComponentName(), 0);
  Log.e("app", "Activity name:" + info.name);
} catch (NameNotFoundException e) {
  e.printStackTrace();
}

扫码关注云+社区