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

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

fw.max_users=5

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

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

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

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

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

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

Ответы (1)

Да, есть. Когда сообщество обнаружило эту функцию в 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

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