ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
这种方法在Android 5.0以上就不能用了,返回的都是桌面包。
5.0以后如何判断?还望大神赐教!
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
这种方法在Android 5.0以上就不能用了,返回的都是桌面包。
5.0以后如何判断?还望大神赐教!
你可以尝试下面的方法:
ActivityManager mActivityManager =(ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);
if(Build.VERSION.SDK_INT > 20){
String mPackageName = mActivityManager.getRunningAppProcesses().get(0).processName;
}else{
String mpackageName = mActivityManager.getRunningTasks(1).get(0).topActivity.getPackageName();
}
3 回答878 阅读✓ 已解决
2 回答2.1k 阅读
2 回答985 阅读✓ 已解决
1 回答769 阅读✓ 已解决
2 回答883 阅读
2 回答821 阅读
1 回答761 阅读
你这是在做launcher吗?检测某Activity是否在当前Task的栈顶