Jak stworzyć zawsze najlepszą aktywność na pełnym ekranie w Androidzie

Chciałbym móc utworzyć Aktywność, która jest zawsze z przodu wyświetlacza systemu Android. Nie powinien otrzymywać żadnych danych wejściowych, wystarczy przekazać go do dowolnej aplikacji znajdującej się poniżej. Coś jak HUD.

Udało mi się zbadać, że muszę ustawić podstawowy typ okna na TYPE_SYSTEM_ALERT, ale wygląda na to, że Android ignoruje mój kod - nie ma wyjątku, nawet jeśli usunę uprawnienie android.permission.SYSTEM_ALERT_WINDOW z manifestu. (wymagane jest użycie tego typu okna). Kiedy próbowałem użyć typu ALERT w oknie dialogowym, działało to dobrze, ale nie mogę przekształcić okna dialogowego w przezroczysty obiekt na pełnym ekranie. Oto mój kod, może brakuje czegoś prostego.

<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>

Ustawienie przezroczyste musi być włączone zewnętrznie w manifeście xml, w przeciwnym razie również nie zadziałało.

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

questionAnswers(3)

yourAnswerToTheQuestion