美文网首页
获取包名、当前栈顶的activity名称

获取包名、当前栈顶的activity名称

作者: sunny635533 | 来源:发表于2019-05-17 14:49 被阅读0次

1、通过当前的activity获取包名

WelcomeActivity.this.getPackageName()

2、通过当前的Task获取包名

public static StringgetAppPackageName(Context context) {

ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

    List taskInfo = activityManager.getRunningTasks(1);

    ComponentName componentInfo = taskInfo.get(0).topActivity;

    Log.d("ActivityManagerUtils", "getAppPackageName 当前应用:" + componentInfo.getPackageName());

    return componentInfo.getPackageName();

}

3、通过当前的栈获取类名

 public static StringgetRunningActivityName(Context context, int index) {

ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

    List list = activityManager.getRunningTasks(1);

    if (index > list.size() -1) {

index =0;

    }

String runningActivity = list.get(index).topActivity.getClassName();

    String contextActivity = runningActivity.substring(runningActivity.lastIndexOf(".") +1);

    Log.d("ActivityManagerUtils", "getRunningActivityName 当前应用:" + contextActivity +"  size:" + list.size());

    return contextActivity;

}

public static StringgetCurActiivtyNameByIndex(Context context) {

return getRunningActivityName(context, 0);

}

相关文章

网友评论

      本文标题:获取包名、当前栈顶的activity名称

      本文链接:https://www.haomeiwen.com/subject/grcoaqtx.html