Как узнать, был ли телефон подключен через USB? (журнал подключения на телефоне?)

Я пытаюсь выяснить, подключал ли кто-нибудь телефон Android (Samsung Note 4) к ПК через USB. Есть ли где-нибудь на устройстве журнал, показывающий отметку времени подключения? Желательно без включения режима отладки?

Версия андроида?
Другой способ — использовать adb shell dmesgи искать там логи подключения/отключения питания. Это лучший источник для рассмотрения. В Android 4.2.1 вы можете проверить журналы ядра (если у вас есть root-права) без ADB, просмотрев /data/log_temp/.

Ответы (1)

Желательно без включения режима отладки?

Извини! На данный момент у меня нет решения, которое не требует отладки по USB. Обходной путь — использовать рутированное устройство и запустить ssh-сервер на Wi-Fi.

В любом случае, если устройство было подключено к ПК через USB, оно должно было потреблять некоторую мощность, минимальную и кратковременную.

Настройте на ПК, включите отладку по USB на телефоне или используйте обходной путь и введите команду:

  • Для леденцов 5.0.2:

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

    или, чтобы получить только наиболее важные детали:

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

    Вывод может быть таким:

    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
    

    Я удалил часть вывода, обозначенную значком, ...так как она здесь неуместна.

    Теперь, последние неподключенные детали выделяются:

    • Start clock time: 2015-08-09-06-50-16-- 9 августа 2015 г. в 06:50:16 мое устройство было отключено от USB.
    • Time on battery: 23m 13s 868ms-- время, в течение которого устройство работало от батареи с момента последнего отключения от сети

    Вы можете сделать расчет сейчас, исходя из вашего случая.

    Обратите внимание , что эта информация не имеет ничего общего с полной информацией о заряде. Он просто сообщает нам детали события, когда устройство было подключено к источнику питания.

  • Для Android 4.4.2:

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

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

Примечание . В последних двух случаях Start clock timeнедоступно, кроме Time on batteryпрочего.


Вся эта информация будет полезна, если только вы не подключили устройство к зарядному устройству или ПК, поскольку приведенная выше статистика батареи не различает их.

Тем не менее, это все еще хороший результат!

Этот ответ Мэтью Рида также касается того же самого.
Я понимаю. Это хорошая зацепка... Я думаю, что график заряда батареи в панели управления показывает аналогичный вывод... но с тех пор я несколько раз заряжал свой телефон, поэтому невозможно отследить время, когда мой телефон был в чужой руке. . Итак, Android вообще не регистрирует подключение / отключение USB?
Он ведет журнал, точно говоря, в журналах ядра есть эти записи о подключении/отключении. Это в выводе adb shell dmesg. Кажется, я не могу найти, где Android 4.4+ и 5.x хранят эти журналы ядра, которые dmesgвыводятся.