Неожиданное поведение FLAG_SECURE при расширении UnityPlayerActivity

Я хотел ограничить снимки экрана и запись экрана в своей игре Unity. Итак, я погуглил и обнаружил, что мне нужно расширить

UnityPlayerActivity

и добавьте FLAG_SECURE в метод OnCreate. Итак, я сделал это:

      public class KTExtendedActivity extends UnityPlayerActivity {
protected void onCreate (Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
            WindowManager.LayoutParams.FLAG_SECURE);
}

}

Я экспортировал его как AAR и добавил в манифест игры Unity.

Теперь проблема, с которой я столкнулся, заключается в том, что он без проблем блокирует скриншоты на каждом устройстве. Но запись экрана ведет себя иначе. На Google Pixel 5 под управлением Android 13 запись экрана черная, как и ожидалось. Но на паре других Android-устройств под управлением Android 11 и 12 запись экрана не черная. Он записывает все, хотя и блокирует скриншоты.

Если я расширяю нативную активность с помощью моей собственной созданной в Android Studio, записи экрана будут черными для всех устройств. Но не тогда, когда я добавляю его в Unity.

В чем может быть проблема?

0 ответов

Другие вопросы по тегам