Неожиданное поведение 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.
В чем может быть проблема?