Como criar uma atividade de sobreposição de tela cheia sempre superior no Android
Gostaria de poder criar uma atividade que esteja sempre à frente da exibição do Android. Ele não deve receber nenhuma entrada, basta passá-lo para qualquer aplicativo que esteja abaixo dele. Algo como um HUD.
Eu era capaz de pesquisar que eu preciso definir o tipo de janela subjacente para TYPE_SYSTEM_ALERT, mas parece que o Android está ignorando o meu código - nenhuma exceção lançada, mesmo se eu excluir a permissão android.permission.SYSTEM_ALERT_WINDOW do manifesto. (é necessário usar este tipo de janela). Quando tentei usar o tipo de ALERTA na caixa de diálogo, funcionou bem, mas não consigo fazer diálogo em entidade transparente em tela cheia. Aqui está o meu código, talvez haja algo simples em falta.
<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>
A configuração translúcida tem que ser ativada externamente no manifesto xml, caso contrário, também não funcionou.
<code> <item name="android:windowIsTranslucent">true</item> </code>