У меня есть приложение, отображающее некоторые виды над любым экраном. Это работало нормально, пока я не обновился до Android 10 (устройство Xiaomi), но теперь, когда я захожу на экран настроек специальных возможностей, мои представления исчезают, когда я go перехожу на другой экран, мои представления появляются снова. Таким образом, очевидно, что экран специальных возможностей имеет более высокий приоритет над другими экранами. Я думал, что это стандартно, пока не нашел другое приложение (Fluid Navigation), которое может отображать свои представления даже над этим экраном!
Вот мой код:
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
myViewParams = new WindowManager.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN |
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
WindowManager.LayoutParams.FLAG_SPLIT_TOUCH |
WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
PixelFormat.TRANSLUCENT);
} else {
myViewParams = new WindowManager.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN |
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
WindowManager.LayoutParams.FLAG_SPLIT_TOUCH |
WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
PixelFormat.TRANSLUCENT);
}
mWindowManager.addView(myView, myViewParams );
Я предоставил все разрешения, и он должен нормально работать на всех остальных экранах. Есть предложения?