获取应用当前activity
1、获取权限
<uses-permission android:name="android.permission.GET_TASKS"/>
2、调用方法
public void getTopActivityName() {
String topActivityClassName = null;
ActivityManager activityManager = (ActivityManager) (getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE));
List<ActivityManager.RunningTaskInfo> runningTaskInfos = activityManager.getRunningTasks(1);
if (runningTaskInfos != null) {
ComponentName f1 = runningTaskInfos.get(0).topActivity;
topActivityClassName = f1.getClassName();
Log.v("topActivityClassName" , topActivityClassName);
Log.v("numActivities" , ""+runningTaskInfos.get(0).numActivities);
}
}
注意:
Android 5.0在API权限上作了修改
Android L,Google has disabled getRunningTasks. Now it can only return own apps task and the home launcher.
也就是说只能获取当前应用的活动类名,当前应用,当前应用。