Bloqueo Navegación

Bloqueo de botones de navegación utilizando el SDK.

Para el bloque de los botones de navegacion se requeiere hacer desde el codigo de su applicación. Se requiere desde el codigo de su applicacion se detone ese bloqueo. A continuación se muestra cómo implementar un botón en su aplicación propia para alternar la habilitación o deshabilitación de todos los botones de navegación físicos (Home, Back, Recents), utilizando el método enableNavigation del SDK.

Consideraciones técnicas importantes

  • El SDK envía un Intent a la app SmartPinPad, que procesa el comando y aplica el cambio en los botones físicos de la terminal. Por lo que es muy importante que la Smart PinPad esté instalada como mínimo en la terminal.
    🚧

    Si la Smart PinPad no está instalada y/o logeada el método !enableNavigation! no va funcionar y no se bloquearán los botones físicos de la terminal.swq

  • Es necesario que el parámetro enum NavBarButtons y el método enableNavigation estén correctamente importados desde el SDK.

Código de ejemplo

// Variable para llevar el estado actual (habilitado/deshabilitado)
private var navigationEnabled = true

// Botón en en el layout de la aplicación del comercio.
toggleNavButton.setOnClickListener {
    navigationEnabled = !navigationEnabled
    smartApi.enableNavigation(NavBarButtons.ALL, navigationEnabled)
    // Cambia el texto del botón según el estado
    if (navigationEnabled) {
        toggleNavButton.text = "Deshabilitar navegación"
    } else {
        toggleNavButton.text = "Habilitar navegación"
    }
}

/* 
Comportamiento del botón

*Primer click*: deshabilita todos los botones de navegación.
*Segundo click*: vuelve a habilitarlos.
* El texto del botón cambia para indicar la siguiente acción disponible.
*/

Parámetros del método

fun enableNavigation(key: NavBarButtons, enable: Boolean)
  • key (NavBarButtons): Enum que indica qué botón de navegación controlar.
    • ALL: Habilita o deshabilita todos los botones de navegación (opción recomendada para bloquear completamente la navegación).
    • HOME: Controla solo el botón Home.
    • BACK: Controla solo el botón Back.
    • RECENT: Controla solo el botón Recents.
  • enable (Boolean):
    • true: Habilita el/los botón(es) seleccionados.
    • false: Deshabilita el/los botón(es) seleccionados.

Opción recomendada: Deshabilitar todos los botones

Para bloquear completamente la navegación física, pueden implementarlo de esta forma:

smartApi.enableNavigation(NavBarButtons.ALL, false)

Esto deshabilitará todos los botones de navegación en la terminal de NetPay Spin Negocios.


Did this page help you?