是否可以检查当前我的应用是否处于后台并启动主屏幕
答案 0 :(得分:7)
没有API可以知道主屏幕是否正在显示。但是,您可以使用各种Activity生命周期回调(onStop等)知道何时将应用程序发送到后台。
答案 1 :(得分:5)
if (apps.get(0).topActivity.getPackageName().equals("com.android.launcher")
这在某种程度上解决了我的问题,仅针对默认主页
答案 2 :(得分:3)
尝试此功能,
public boolean isUserIsOnHomeScreen() {
ActivityManager manager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<RunningAppProcessInfo> processes = manager.getRunningAppProcesses();
for (RunningAppProcessInfo process : processes) {
if(process.pkgList[0].equalsIgnoreCase("com.android.launcher")) {
return true;
} else {
return false;
}
}
return false;
}
答案 3 :(得分:1)
使用 onPause / onStop 和 onResume 方法进行活动, 或利用自己实施的服务进行后台处理(基于时间延迟或消息/接收器)。