Как создать наверху полноэкранную оверлейную активность в Android

Я хотел бы иметь возможность создавать активность, которая всегда находится перед дисплеем Android. Он не должен получать никаких входных данных, просто передайте его любому приложению, которое находится под ним. Что-то вроде HUD.

Мне удалось выяснить, что мне нужно установить базовый тип окна в TYPE_SYSTEM_ALERT, но похоже, что Android игнорирует мой код - исключение не выдается, даже если я удалю разрешение android.permission.SYSTEM_ALERT_WINDOW из манифеста. (требуется использовать этот тип окна). Когда я попытался использовать тип ALERT в диалоге, он работал нормально, но я не могу сделать диалог полностью прозрачным объектом. Вот мой код, может быть, чего-то не хватает простого.

<code>public void onCreate(Bundle savedInstanceState) {       
     super.onCreate(savedInstanceState);        

     requestWindowFeature(Window.FEATURE_NO_TITLE);
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
     getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);             
     getWindow().setBackgroundDrawableResource(android.R.color.transparent);
     getWindow().setFormat(PixelFormat.TRANSLUCENT);
     setContentView(R.layout.main);
}
</code>

Настройка прозрачности должна быть включена извне в xml-манифесте, в противном случае она также не будет работать.

<code> <item name="android:windowIsTranslucent">true</item>
</code>

Ответы на вопрос(3)

Ваш ответ на вопрос