Есть ли способ переключать пользователей Android из командной строки?

11

С помощью следующей команды, мне удалось включить многопользовательский режим в Android устройстве , которое не поддерживает officicially его: adb shell setprop fw.max_users 4. Для удобства я также добавил следующую запись в файл build.prop:

fw.max_users=5

Теперь на моем устройстве есть меню «Настройки» для создания дополнительных пользователей. После создания нового пользователя я бы переключился на многопользовательский экран блокировки со значками внизу, отображающими учетные записи пользователей, доступные на устройстве. Оттуда я могу выбрать мой логин пользователя.

Более того, данные учетной записи нового пользователя переживают перезагрузку. Из этого я могу сделать вывод, что многопользовательский режим работает.

Проблема в том, что мое Android-устройство, медиаплеер, работающий на какой-то версии Jellybean 4.2, обычно не отображает экран блокировки. Экран блокировки не появляется при запуске устройства, а также после его приостановки или перевода устройства в спящий режим.

На самом деле, единственный раз, когда я вижу экран блокировки, это сразу после создания нового пользователя. После того как я вошел в систему как новый пользователь, я не могу переключиться обратно на экран блокировки, потому что устройство настроено так, чтобы отображать только нижнюю панель, и поэтому у меня нет возможности щелкнуть значок «Пользователь» в меню быстрых настроек отсутствует верхняя панель.

Кажется немного излишним совершать некоторые низкоуровневые системные хаки только для того, чтобы получить настольный Linux-эквивалент Control-Alt-F8 и т. Д. Есть ли команда, возможно, использующая некоторые намерения или действия, доступные через инструмент диспетчера активности Android (am)? что позволило бы мне переключаться между различными пользовательскими входами в систему или, по крайней мере, переключаться на экран блокировки, который позволял бы мне входить в систему как другой пользователь?

Замораживание-Droid
источник
Просто грубая идея: может ли это помочь переключить защиту клавиатуры (которая отвечает за «блокировку» устройства)? Если это так, это можно сделать с помощью, например, Tasker , и вы можете создать ярлык для этой задачи на рабочем столе: коснитесь этого, выключите, а затем снова включите, и вам должен быть представлен экран блокировки - где вы, возможно, могли бы переключиться пользователей, а затем используйте ярлык, чтобы снова отключить защиту клавиатуры. Если это работает для вас, и вы считаете это "правильным ответом", дайте мне знать, и я сделаю это одним :)
Иззи

Ответы:

19

Да, есть. Когда сообщество обнаружило эту функцию в Android 4.1 (код существовал, но еще не был объявлен, поэтому Google не открыл эту функцию в настройках), я вспомнил, как играл с ней в Nexus 4.

Итак, вот некоторые команды, которые я помню для терминала Android:

  • Создать нового пользователя: pm create-user User_Name
  • Для переключения между пользователями: am switch-user User_ID
  • Чтобы получить список всех пользователей: pm list users
  • Чтобы удалить пользователя: pm remove-user User_ID

Надеюсь это поможет.

Nir
источник