检查活动是否可见(由于多窗口模式,onResume& Pause dosen&t'till适合)

时间:2017-12-02 16:15:30

标签: java android android-7.0-nougat android-7.1-nougat multi-window

我需要确保用户眼睛可以看到屏幕上的活动。

我们可以通过听取onResume& Activity类中的onPause事件,并在这些函数中设置一些布尔值。

但不仅在最小化活动时调用onPause,在多窗口模式(Android 7.x Nougat)中切换到其他窗口时也会调用onPause

因此布尔值onPause& onResume方法将导致错误。

那么如何知道Activity的可见性?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

Nougat及以上,您必须检查onStop方法,它会告诉您何时Activity不可见,您可以使用此代码:

@Override
public void onPause() {
  super.onPause();
  if (Build.VERSION..SDK_INT <= 23) {
    //your activity is not visible
    onHidden();
  }
}
@Override
public void onStop() {
  super.onStop();
  if (Build.VERSION..SDK_INT > 23) {
    //your activity is not visible
    onHidden();
  }
}

假设您的onHidden方法会执行某些操作。

我找到了有关您问题的有趣链接:Multiwindow