Spanish [SOLUCIONADO]Desactivar botones virtuales

ferpahud

Active Member
Licensed User
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!

Saludos!
 

dar2o3

Active Member
Licensed User
Longtime User
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.
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola

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.

Saludos
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola Ferpahud, si ya lo solucionaste, podrias añadir [SOLUCIONADO] , asi mejoramos el foro.

Gracias

Saludos
 
Top