可以通过以下方式判断当前APP是否在前台:

  1. 获取ActivityManager对象:
ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
  1. 获取正在运行的任务列表:
List<ActivityManager.RunningTaskInfo> runningTasks = activityManager.getRunningTasks(1);
  1. 判断当前APP是否在前台:
ComponentName componentName = runningTasks.get(0).topActivity;
String packageName = componentName.getPackageName();
if (!packageName.equals(getPackageName())) {
    // 当前APP不在前台,让APP回到前台
    Intent intent = new Intent(this, MainActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
}

完整代码示例:

// 点击悬浮按钮时调用该方法
public void onClickFloatButton() {
    ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    List<ActivityManager.RunningTaskInfo> runningTasks = activityManager.getRunningTasks(1);
    ComponentName componentName = runningTasks.get(0).topActivity;
    String packageName = componentName.getPackageName();
    if (!packageName.equals(getPackageName())) {
        // 当前APP不在前台,让APP回到前台
        Intent intent = new Intent(this, MainActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);
    }
}
``
Android 点击悬浮按钮时判断当前APP是否在前台如果不在就让app回到前台

原文地址: https://www.cveoy.top/t/topic/csnZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录