最近接触了一个项目,需要实现,按一下home键,如果当前界面不是主界面,就回到launcher主界面,然后在主界面再按一下,则需要执行关屏操作,这里就需要知道,当前Activity是否是laucher主界面,这里自己写了个方法,希望对各位朋友有所帮助
public boolean isAtHome(Context context) {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.addCategory(Intent.CATEGORY_HOME);
PackageManager pm = context.getPackageManager();
List<ResolveInfo> list = pm.queryIntentActivities(intent, PackageManager.GET_ACTIVITIES);
for (ResolveInfo resolveInfo : list) {
if (cn.getClassName().equals(resolveInfo.activityInfo.name)) {
return true;
}
}
return false;
}