Вопрос по android – Получить имя активности динамически - Android

63

Я хотел бы получить название текущегоActivity быть отправленным вместе в URIHttpRequest, Есть ли способ сделать это, не обращаясь конкретно кActivity?

Я знаю, что могу сделатьmyActivity.class.toString() но это всего лишь менее эффективный способ жесткого кодирования "myActivity" так как я делаю статическую ссылку на мойActivity, Есть ли более общий способ сделать это, используя что-то вроде «это»? (который, кстати, здесь на самом деле не работает, потому что он возвращает больше информации, чем требуется).

Error: User Rate Limit Exceededthis.getClass().getSimpleName()Error: User Rate Limit Exceeded kcoppock

Ваш Ответ

4   ответа
1

First:Error: User Rate Limit Exceededmanifest.xmlError: User Rate Limit Exceeded

Error: User Rate Limit Exceeded"com.company.projectname"

Then:Error: User Rate Limit ExceededMainActivity

MainActivity.class.getCanonicalName() >output> "com.company.projectname.MainActivity"

OR

MainActivity.class.getSimpleName() >output> "MainActivity"

OR

MainActivity.class.getName() >output> "com.company.projectname.MainActivity"
23

Error: User Rate Limit ExceededPackageManagerError: User Rate Limit Exceeded

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

Error: User Rate Limit ExceededgetClass().getName()Error: User Rate Limit ExceededgetSimpleName()Error: User Rate Limit Exceeded

161

Error: User Rate Limit Exceededthis.getClass().getSimpleName()Error: User Rate Limit Exceeded

Error: User Rate Limit ExceededOnClickListenerError: User Rate Limit Exceeded

MainActivity.class.getSimpleName()

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded evanmcdonnal
3
ActivityManager am = (ActivityManager)context.getSystemService(ACTIVITY_SERVICE);
List< ActivityManager.RunningTaskInfo > taskInfo = am.getRunningTasks(1);
this.currentActivity = taskInfo.get(0).topActivity.getClassName();
Log.i( "CURRENT Activity ",  currentActivity);

Похожие вопросы