5 votos

¿Cómo encender el hotspot de Wi-Fi usando ADB?

¿Tienes alguna idea de cómo podemos configurar y activar el hotspot de Wi-Fi usando la línea de comandos (consola ADB)?

10voto

xavier_fakerat Puntos 1

Puedes intentar esto:

  adb shell am start -n com.android.settings/.TetherSettings
  adb shell input keyevent 20
  adb shell input keyevent 66

El primer comando abre la página de Configuración para Share de conexión e hotspot mientras que el último simula pulsaciones de teclas: Abajo y Enter respectivamente.

Nota: Para diferentes versiones de Android es posible que tengas que ajustar la simulación de las pulsaciones de teclas dependiendo de dónde se encuentre la configuración de hotspot en ajustes.


Créditos Especiales: Firelord y Kristopher

Firelord publicó originalmente esto como un comentario, así que lo puse como una respuesta ya que los comentarios se borran fácilmente o son difíciles de encontrar

0 votos

Para android 5.0+ si esto no funciona entonces añade otro keyevent 20 más. Créditos: Kristopher

0 votos

@xavier_fakerat ¿dónde va el keyevent 20 adicional? ¿Debe ser 20 20 66 o 20 66 20?

0 votos

@Andrew 20, 20 y 66 es decir, abajo, abajo, enter

1voto

EDllT Puntos 11

EDITAR: Para iniciar/detener el Hotspot a través de adb con la ayuda de Automate, todo lo que necesitas hacer es crear un flujo en Automate implementando la lógica a través de programación de bloques simple, copiar su URI y luego transmitirla a través de un shell usando Activity Manager

adb shell am broadcast -a com.llamalab.automate.intent.action.START_FLOW \ -d FLOW_URI_QUE_COPIASTE_AQUÍ \ -n com.llamalab.automate/.StartServiceReceiver

Esto ejecutará inmediatamente cualquier lógica que hayas creado en el flujo. En nuestro caso, era habilitar el Hotspot. También puedes pasar extras al flujo para tener más funcionalidad

Ejemplo de envío de información adicional al iniciar el flujo

adb shell am broadcast -a com.llamalab.automate.intent.action.START_FLOW \ -d FLOW_URI_QUE_COPIASTE \ -n com.llamalab.automate/.StartServiceReceiver \ -e clave1 valor1 \ -e clave2 valor2

La información enviada luego se captura en la sección de Payload del flujo inicial

Busqué en todo internet y no pude encontrar nada, PERO entonces recordé una aplicación PODEROSA llamada Automate.

Usando esta aplicación, puedes crear un conjunto de instrucciones complejas para ser ejecutadas en tu teléfono mediante algo llamado flujos.

La aplicación tiene una interfaz de usuario realmente hermosa.

Aquí hay un video que muestra algunas cosas realmente simples que puedes hacer:

https://www.youtube.com/watch?v=i53Yd30TFrU

En pocas palabras, puedes acceder a TODO tipo de APIs de Android que serían extremadamente complicadas de acceder de otra manera solo a través de ADB. Es una solución universal para todos los teléfonos a este problema de hotspot y muchos otros.

También tiene una pestaña de comunidad vibrante a través de la cual puedes acceder a los millones de flujos creados por otras personas.

La aplicación es freemium, no contiene anuncios en absoluto. La única limitación es que puedes ejecutar 30 bloques simultáneamente a la vez.

Cómo iniciar/detener un flujo de Automate a través de ADB:
https://groups.google.com/g/automate-user/c/IPmrJ4HjXwk?pli=1 https://www.reddit.com/r/AutomateUser/comments/qqmpms/how_can_i_start_a_flow_via_adb/

Enlace de la Aplicación
https://play.google.com/store/apps/details?id=com.llamalab.automate

Documentación de la Aplicación
https://llamalab.com/automate/

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X