エミュレータで「pm create-user Name」端末コマンドを使用して Jellybean で複数のユーザー プロファイルを作成できますが、同じコマンドをプログラムで実行できる方法があるかどうかを知りたいです。ターミナルを開きたくない。
2 に答える
マルチユーザー機能が 4.1 で最初に発見されたとき、私はこれを行うためのアプリを作成しました。ここでオープンソース化しました。そのコマンドをプログラムで実行するためのコードは TerminalUtils で見つけることができますが、回答にも記載します。
public static void createUser(String name)
{
Process p;
try {
p = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(p.getOutputStream());
os.writeBytes("pm create-user \"" + name + "\"\n");
os.writeBytes("exit\n");
os.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
TerminalUtils には、ユーザーを削除して名前を変更するメソッドも含まれています。
はい、できます: Stericson RootTools
を使用:
RootTools は、ルート化された開発者に、ルート化されたアプリケーションの開発で使用するための標準化されたツール セットを提供します。最終的には、開発時間を大幅に短縮し、コードの再利用を促進する堅牢で使いやすいライブラリを開発者に提供することで、これを達成します。このプロジェクトは、何か貢献できると感じている実績のある開発者なら誰でも参加できます。協力することで、プロセスを合理化し、アプリの有効性を改善し、新しいテクニックを学び、ユーザーにより良いエクスペリエンスを提供することができます。
Java アプリケーションが実行中の環境とインターフェースできるようにします。アプリケーションはこのクラスのインスタンスを作成できませんが、getRuntime() を呼び出してシングルトン インスタンスを取得できます。