2017-02-27 10 views
2

私は、Androidに新たなんだと私は次のタスクを実行職場でのアプリケーション行う必要がある:私は私のユーザー名を送ることになっているソケットに耳を傾けるAndroid - プログラムでユーザー名でユーザーを切り替える方法

  1. を。
  2. ユーザー名を受け取った後、タブレットでそのユーザーアカウントに切り替える必要があります。
  3. 現在アクティブなユーザーと同じユーザー名を受け取った場合、私は(明らかに)切り替える必要はありません。

私たちのタブレットは、Android 5.1.1 LollipopでCyanogenMod 12.1を実行しています。 これはPlayストアからダウンロードされる商用バージョンではないので、私が必要とする可能性があるすべての権限が付与されると見なすことができます。

私は、シェルコマンドやその他のハックを実行しているが、何かを見つけることができませんでしたなし...

+0

に持っています。 「ユーザー」を参照して切り替えたとき、あなたは話していますか: 1. Android「マルチユーザー」APIとその使い方は? (https://source.android.com/devices/tech/admin/multi-user.html)。 2.ユーザーを表すカスタムサーバーデータとその実装方法 – EladB

+0

あなたはAndroidの設定メニューから追加できるユーザーを指します。所有者(あなた)がいる場所で、デバイスにユーザーを追加できます。 –

+0

システムユーザーと呼ばれることはありますか? –

答えて

1

はそれを自分で試していませんが、あなたはすべてのUserHandleセットアップを得ることができる必要がありますことを行うにはクリーンなコードの方法で検索デバイス上でDevicePolicyManager switchUser() methodを使用してください。これが機能するために

UserManager um = (UserManager) getSystemService(USER_SERVICE); 
List<UserHandle> userProfiles = um.getUserProfiles(); 

、私はあなたの質問は少しfageだと思うset your app as a device administrator(あなたはそれが内部に完全に管理アプリだと言うと問題になることはありません)

+0

現在、 'um.getUserProfiles();'は常に1つのitemを返します。私はデバイス管理者として自分のアプリを設定する必要がありますか? –

+0

おそらく...これは必須のステップなので、管理者としてアプリを設定してそこから移動してください。あなたが根っこをとり、それがFSを見ているなら(私の最初の選択ではない)、デバイス上のすべてのユーザーを取得する別のオプションがあります。ここでは例を見ることができます:http://stackoverflow.com/a/32140247/742595 – Idan

+0

私はあなたが送ったリンクの指示に従っています。最初にデバイス管理者を設定してから、ユーザーを取得してユーザーを切り替えようとします。どのように行ったのかを伝えるためにここでコメントを更新します(急いで行うのが最善です)。 –

関連する問題