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);
}
网友评论