如何在无障碍服务 java android 中设置 window 叠加层的屏幕方向?

How to set Screen Orientation of window overlay in accessibility Service java android?

我已经使用辅助功能服务来显示 window 叠加层,我想要的是在屏幕旋转到横向或用户打开键盘时隐藏它。或者设置为 window 的方向,仅当用户在任何其他应用程序中旋转到横向模式时才覆盖到纵向模式。

我终于想通了。 覆盖 AccessibilityService Class 中的 onConfigurationChanged(Configuration newConfig),这样您就可以获取 window 覆盖的屏幕方向。请看下面的代码:

 @Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    // Checks the orientation of the screen
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
        Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();    
     
    } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
        Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
    }
}