So erstellen Sie eine Vollbild-Overlay-Aktivität in Android, die immer oben angezeigt wird

Ich möchte in der Lage sein, eine Aktivität zu erstellen, die immer im Vordergrund von Android angezeigt wird. Es sollte keine Eingabe erhalten, sondern nur an die nächste Anwendung weitergeleitet werden. So etwas wie ein HUD.

Ich konnte untersuchen, ob ich den zugrunde liegenden Fenstertyp auf TYPE_SYSTEM_ALERT setzen muss, aber es sieht so aus, als würde Android meinen Code ignorieren - keine Ausnahme, selbst wenn ich die Berechtigung android.permission.SYSTEM_ALERT_WINDOW aus dem Manifest lösche. (Es ist erforderlich, diesen Fenstertyp zu verwenden). Als ich versuchte, den ALERT-Typ im Dialogfeld zu verwenden, funktionierte er in Ordnung, aber ich kann das Dialogfeld nicht in eine transparente Vollbild-Entität umwandeln. Hier ist mein Code, vielleicht fehlt etwas Einfaches.

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

Die durchscheinende Einstellung muss extern im XML-Manifest aktiviert sein, sonst hat es auch nicht funktioniert.

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

Antworten auf die Frage(3)

Ihre Antwort auf die Frage