Los recursos públicos se centran en patrones reproducibles. SDK, firmware y documentación restringida permanecen en canales de distribución autorizados.
Evidencia comparable con método, versión y límites.
- Un dispositivo físico con una clave de destino documentada y una política de implementación aprobada.
- Una ruta de recuperación que no depende de la clave reasignada.
- Una decisión explícita sobre si el cambio es a nivel de aplicación o de dispositivo.
Estándar de publicación
Integre Android empresarial con evidencia versionada.
Los recursos públicos se centran en patrones reproducibles. SDK, firmware y documentación restringida permanecen en canales de distribución autorizados.
- 01
Decide la superficie de control más pequeña
Utilice el manejo de claves a nivel de aplicación cuando el flujo de trabajo pueda permanecer dentro de la aplicación. Utilice la asignación a nivel de dispositivo solo cuando la política y el modelo de implementación lo admitan.
- 02
Instantánea antes de cambiar
Lea y almacene el código clave original, la acción y el estado de interceptación en un registro de implementación controlado. Nunca asuma que el mapeo de fábrica es idéntico en todas las variantes.
- 03
Asigne una clave a la vez
Aplique un cambio reversible, verifíquelo en el flujo de trabajo de destino y mantenga las claves de navegación, emergencia, pago y sistema fuera de la demostración.
- 04
Restaurar y reiniciar
Verifique la restauración, la persistencia del reinicio, el comportamiento del restablecimiento de fábrica y un procedimiento de recuperación física. Una reasignación exitosa sin recuperación no está lista para la implementación.
Aplicaciones de ejemplo / Kotlin
Patrones de SDK y API
El ejemplo público modela transiciones de estado seguras; El mapeo real a nivel de dispositivo sigue siendo específico del modelo y de la política.
data class KeySnapshot(
val keyCode: Int,
val action: String?,
val intercepted: Boolean,
)
interface KeyPort {
fun snapshot(keyCode: Int): KeySnapshot
fun apply(keyCode: Int, action: String)
fun restore(snapshot: KeySnapshot)
}
fun applyTemporaryMapping(port: KeyPort, keyCode: Int, action: String) {
val original = port.snapshot(keyCode)
try {
port.apply(keyCode, action)
// Verify the workflow here before the device leaves the lab.
} catch (error: Throwable) {
port.restore(original)
throw error
}
}Distribución de SDK
Control de publicación
No se publica ningún binario del fabricante, referencia de API, firmware ni ejemplo de código fuente sin registrar el permiso de redistribución y el alcance compatible.
Detener y registrar la limitación específica del modelo; no escriba un mapeo adivinado.
Utilice la ruta de recuperación física, restaure la instantánea y elimine la asignación de la implementación.
Márquelo como solo sesión y mueva la persistencia a la configuración de implementación si se aprueba.
Estados de evidencia
Evidencia comparable con método, versión y límites.
- 01
Registre la asignación original y pruebe una restauración antes de aplicar el cambio.
- 02
Verifique la acción en escenarios de primer plano, segundo plano, reinicio y reinicio.
- 03
Confirme que la navegación del sistema y el comportamiento de emergencia sigan disponibles.
- 04
Mantenga una instrucción de recuperación al lado del dispositivo durante la prueba.
Recursos
Patrones de SDK y API
No se publica ningún binario del fabricante, referencia de API, firmware ni ejemplo de código fuente sin registrar el permiso de redistribución y el alcance compatible.