Sé que se puede sobreescribir la funcionalidad Back Button en Android, pero me preguntaba si había un método o algo que pudiera llamar que funcionalmente hiciera lo mismo que presionar el botón de hardware.¿Llamar al botón de hardware de nuevo programáticamente?
Respuesta
puede enviar el botón de retroceso de prensa para el sistema como este
this.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));
o se puede anular el botón de retroceso prensa y llamar
finish();
en su actividad. Eso básicamente hace lo mismo que el botón de retroceso genérico.
Simplemente llame al this.onBackPressed();
en Actividad.
Esta es una gran respuesta. – VSG24
Esta es la mejor respuesta, ya que el simple hecho de llamar al finalizador no se activa onBackPressed como lo hace el botón de retroceso real. Si la actividad está haciendo cosas extra, se perderá. – Andrew
Pero, como si hubiera diálogo sobre actividad, cerrará la actividad, y el botón real no lo hace. – NehaK
Si sólo desea botón de hardware "de prensa", crear el servicio se extendió desde AccessibilityService
:
class ExampleAccessService:AccessibilityService() {
override fun onInterrupt() {
}
override fun onAccessibilityEvent(event: AccessibilityEvent?) {
}
fun doAction(){
performGlobalAction(GLOBAL_ACTION_RECENTS)
// performGlobalAction(GLOBAL_ACTION_BACK)
// performGlobalAction(GLOBAL_ACTION_HOME)
// performGlobalAction(GLOBAL_ACTION_NOTIFICATIONS)
// performGlobalAction(GLOBAL_ACTION_POWER_DIALOG)
// performGlobalAction(GLOBAL_ACTION_QUICK_SETTINGS)
// performGlobalAction(GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN)
}
}
llamada doAction()
en la que desea la acción
Añadir a Manifest
:
<application
...
<service
android:name=".ExampleAccessService"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
android:label="Name of servise" // it will be viewed in Settings->Accessibility->Services
android:enabled="true"
android:exported="false" >
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService"/>
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/accessibility_service_config"/>
</service>
...
</application>
accessibili ty_service_config.xml:
<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeAllMask"
android:accessibilityFeedbackType="feedbackAllMask"
android:accessibilityFlags="flagDefault"
android:canRetrieveWindowContent="false"
android:description="your description"
android:notificationTimeout="100"
android:packageNames="your app package, ex: ex: com.example.android"
android:settingsActivity="your settings activity ex: com.example.android.MainActivity" />
para obtener más información mira https://developer.android.com/guide/topics/ui/accessibility/services.html
- 1. Manejo del hardware de Android Botón Atrás
- 2. No hay función de coincidencia para llamar al operador nuevo
- 3. ¿Cómo establece programáticamente el reloj de hardware en Linux?
- 4. ¿Cómo disparo programáticamente un mx: evento de clic de botón?
- 5. Cómo conecto el botón de búsqueda de hardware en WP7
- 6. Cómo controlar el botón de retroceso de hardware
- 7. Android - Cómo establecer programáticamente color de botón
- 8. ¿Realizar Segue programáticamente sin conexión de botón?
- 9. Haciendo que se aprecie un botón de cacao, programáticamente
- 10. ¿Cómo creo programáticamente un nuevo KeyStore?
- 11. ¿Cuándo debo llamar al método de inicio() de los widgets instalados programáticamente?
- 12. Presionando programáticamente un botón UITabBar en Xcode
- 13. Agregar botón a un diseño programáticamente
- 14. QGL ¿Aceleración de hardware y hardware?
- 15. Eclipse JDT: ¿Llamar 'sangría correcta' programáticamente?
- 16. ¿Cómo se maneja el botón de búsqueda de hardware de Android?
- 17. ios barra de navegación botón derecho elemento se desplaza al pulsar nuevo controlador de vista
- 18. Android: ¿cómo centrar un botón programáticamente creado?
- 19. Nuevo botón de me gusta de Facebook Validación de HTML
- 20. Demo de AVAudioPlayer al llamar play
- 21. ¿Es posible agregar un elemento al menú contextual del botón secundario de Mac OS programáticamente?
- 22. Crear referencia al nuevo objeto
- 23. Al abrir el submenú en la barra de acciones en el botón de menú Hardware, haga clic en
- 24. Manejo del botón de retroceso de hardware y envío al control WebBrowser que se ejecuta en Windows Phone
- 25. Diferencia al llamar al trabajo
- 26. ¿Hay alguna manera de acceder al hardware directamente en Python?
- 27. Introducción al hardware y organización de la computadora: ¿Recursos?
- 28. ¿Cómo atrapar el evento con el botón de retroceso de hardware en Android?
- 29. ¿Cómo alinear programáticamente un botón en las aplicaciones de iOS?
- 30. ¿Cómo establecer el foco en un widget de botón programáticamente?
no funciona en mi código ... me dice que cambiarlo a ACTION_DOWN y KEYCODE_BACK no existen, lo que necesitaría importar para que se encuentren? – JuiCe
Intenta usar KeyEvent.ACTION_DOWN y KeyEvent.KEYCODE_BACK :) – jimmithy
Muchas gracias a los dos. – JuiCe