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_IDbenim aygıtta 11yani 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. amKullanı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 usersya dumpsys activitykullanıcı olup olmadığını söylerdim RUNNINGya SHUTDOWN. İkinci komut daha iyidir. Eğer kullanıcı oturumu gerçekten durdurulursa am stop-user, mState=SHUTDOWNo 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 10sadecepm list userskullanıcı çalışmıyor gibi komut gösteriliyordu . Kontrol ettimadb shell pssonraam stop-user 10ve 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 10komutu 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.