Hola buenos dias, queria saber si hay alguna manera de desactivar los botones virtuales, es decir que si el usuario aprieta el boton virtual de retroseso o de home no haga nada.
Si alguien lo sabe y me puedo ayudar se lo agradezco!
Se a discutido mucho sobre este tema, deshabilitar el botón home es peligroso además de necesitar permisos root (rootear el terminal.)
Si lo que quieres es crear una aplicación en modo "Quiosco" puedes configurarlo desde ajustes-Seguridad-Avanzado-Anclaje de pantalla, (todo esto lo e leido, no lo e probado nunca.
Puedes detectar los botones en el propio activity asi:
B4X:
Sub Activity_KeyPress (KeyCode As Int) As Boolean
If KeyCode = KeyCodes.KEYCODE_BACK Then
' Pulsado botón Back
Return True ' Consume el evento y no sale
End If
If KeyCode = KeyCodes.KEYCODE_HOME Then
' Pulsado botón Home
' Aqui aunque consumas el evento, se irá a pause, por lo que no sirve de nada hacer un Return True
End If
End Sub
Lo mejor es detectar en Sub Activity_Pause (UserClosed As Boolean) que ha salido sin tu permiso (emplea una variable global) y en ese caso, pones en marcha un servicio ( StartService(TuServicioQueVigila) ) que llame al activity con StartActivity(Main) y de esa forma volverá a entrar en la aplicación.