¿Cómo saber si el teléfono se ha conectado a través de USB? (registro de conexión en el teléfono?)

Estoy tratando de averiguar si alguien ha conectado el teléfono Android (Samsung Note 4) a la PC a través de USB. ¿Hay un registro en algún lugar del dispositivo que muestre la marca de tiempo de la conexión? ¿Preferiblemente sin activar el modo de depuración?

¿Versión de Android?
Otra forma es usar adb shell dmesgy buscar registros de conexión/desconexión de energía allí. Esa es la mejor fuente a considerar. En Android 4.2.1, puede verificar los registros del kernel (si está rooteado) sin ADB navegando en /data/log_temp/.

Respuestas (1)

¿Preferiblemente sin activar el modo de depuración?

¡Lo siento! No tengo una solución que no requiera la depuración de USB a partir de ahora. Una solución alternativa es usar un dispositivo rooteado y ejecutar el servidor ssh en Wi-Fi.

De todos modos, si el dispositivo se ha conectado a la PC mediante USB, entonces debe haber consumido algo de energía, minúscula y momentáneamente.

Configure en la PC, active la depuración de USB en el teléfono o use la solución e ingrese el comando:

  • Para Piruleta 5.0.2:

    dumpsys batterystats | grep -A30 "Statistics since last unplugged:"
    

    o, para obtener solo los detalles más relevantes:

    dumpsys batterystats | grep -A30 "Statistics since last unplugged:" | grep -B30 "Device is currently"
    

    La salida podría ser como:

    Statistics since last unplugged:
      Time on battery: 23m 13s 868ms (100.0%) realtime, 23m 13s 868ms (100.0%) uptime
      Time on battery screen off: 22m 13s 363ms (95.7%) realtime, 22m 13s 362ms (95.7%) uptime
      Total run time: 23m 13s 868ms realtime, 23m 13s 868ms uptime
      Start clock time: 2015-08-09-06-50-16
      Screen on: 1m 0s 505ms (4.3%) 0x, Interactive: 1m 0s 758ms (4.4%)
      Screen brightnesses:
      dark 1m 0s 505ms (100.0%)
      Total partial wakelock time: 22m 13s 363ms
      Mobile total received: 0B, sent: 0B (packets received 0, sent 0)
      Phone signal levels:
      moderate 22m 35s 311ms (97.2%) 1x
      good 38s 557ms (2.8%) 0x
      Signal scanning time: 0ms
      Radio types:
      none 23m 13s 868ms (100.0%) 0x
      ...
      Device is currently unplugged
    

    Eliminé algunos resultados indicados por ya ...que no son relevantes aquí.

    Ahora, los últimos detalles desenchufados destacan:

    • Start clock time: 2015-08-09-06-50-16-- El 9 de agosto de 2015 a las 06:50:16 a. m., mi dispositivo se desconectó del USB
    • Time on battery: 23m 13s 868ms-- tiempo durante el cual el dispositivo ha estado funcionando con batería desde la última vez que se desenchufó

    Puedes hacer el cálculo ahora, según tu caso.

    Tenga en cuenta que esta información no tiene nada que ver con los detalles completos de la carga. Simplemente nos dice los detalles del evento cuando el dispositivo se conectó a una fuente que le suministró energía.

  • Para Android 4.4.2:

    dumpsys batterystats | grep -A30 "Statistics since last unplugged:" | grep -B30 "Device is currently*"
    
  • Para Android 4.2.1:

    dumpsys batteryinfo | grep -A30 "Statistics since last unplugged" | grep -B30 "Device is currently*"
    

Nota : En los dos últimos casos, Start clock timeno está disponible pero Time on batteryentre otras cosas.


Toda esta información sería útil si solo no ha conectado el dispositivo al cargador o la PC, ya que las estadísticas de batería anteriores no diferencian entre los dos.

No obstante, ¡sigue siendo una buena pista!

Esta respuesta de Matthew Read también trata de lo mismo.
Veo. Esta es una buena pista... Creo que el gráfico de la batería en el panel de control muestra una salida similar... pero desde entonces he cargado mi teléfono varias veces, por lo que no es posible rastrear el momento en que mi teléfono estuvo en la mano de otra persona. . Entonces, ¿Android no registra la conexión / desconexión de USB en absoluto?
Sí registra, los registros del núcleo, precisamente hablando, tienen esas entradas de conectar/desconectar. Está en la salida de adb shell dmesg. Parece que no puedo encontrar dónde Android 4.4+ y 5.x almacenan estos registros del kernel que dmesggeneran.