Android'deki bir terminal uygulamasında şunu girin (kök erişimi gerektirir):
su
am stop-user USER_ID
Bir Misafir kullanıcı için, bu USER_ID
benim aygıtta 11
yani komut olacaktır am stop-user 11
.
am stop-user
birden fazla girişi işlemediğinden, duraklatmak istediğiniz her ikincil kullanıcı için komutu yürütmeniz gerekir.
Bu, cihazın yeniden başlatılmasından biraz farklıdır. am
Kullanımını kontrol ederseniz ,
am stop-user: stop execution of USER_ID, not allowing it to run any code until a later explicit start or switch to it.
Söylendiği gibi, bu kullanıcı hesabıyla ilişkili tüm etkinlikleri duraklatır, bu nedenle açık bir başlangıç veya anahtar sağlandığında oturumunuz sıfırdan başlamak yerine devam edecektir.
Kullanıcının gerçekten duraklattığını veya çalışmadığını doğrulamak için ADB'den şu anda çalışan kullanıcı adını / kimliğini nasıl bulabilirim ?
Kısaca, pm list users
ya dumpsys activity
kullanıcı olup olmadığını söylerdim RUNNING
ya SHUTDOWN
. İkinci komut daha iyidir. Eğer kullanıcı oturumu gerçekten durdurulursa am stop-user
, mState=SHUTDOWN
o kullanıcı için görürsünüz . Ancak, kullanıcı yeniden başlatıldığından beri bir kez bile etkinleştirilmemişse, girişlerinden hiçbirini göremezsiniz.
am stopuser 10
sadecepm list users
kullanıcı çalışmıyor gibi komut gösteriliyordu . Kontrol ettimadb shell ps
sonraam stop-user 10
ve bulabilirsinizu10_axx
çalışan süreçleri. Durdurulmuş olup olmadıklarını kontrol etmek için 2. kullanıcı bir terminalde bir kabuk komut dosyası çalıştırmayı denedim. Komut dosyası saniyede bir yankı ifadesini döngüler (ikinci olarak görüntülenir). Bu komut dosyasını başlattıktan sonra,am stop-user 10
komutu kullanarak, 5 dakika bekledikten ve 2. kullanıcı oturumunu yeniden başlattıktan sonra komut dosyasının durdurulmadığını söyleyebilirim. Tüm zaman boyunca koştu.