是否可以通过编程方式运行“pm create-user Name”命令?

时间:2013-04-15 09:20:46

标签: android

我能够在仿真器上使用“pm create-user Name”终端命令在Jellybean上创建多个用户配置文件,但我想知道是否有任何方法可以以编程方式运行相同的命令。我不想打开终端。

2 个答案:

答案 0 :(得分:0)

是的,您可以通过:

使用Stericson RootTools

  

RootTools为有根的开发人员提供了一套标准化的工具   用于开发有根的应用程序。最后,我们会   通过为开发人员提供强大,易用的功能来实现这一目标   图书馆将大大缩短开发时间   促进代码重用。该项目对任何经过验证的开发人员开放   觉得他们有所贡献。通过一起投球我们   可以简化我们自己的流程,提高我们的工作效率   应用程序,学习新技术,并为我们提供更好的体验   用户。

使用Android Runtime

  

允许Java应用程序与其中的环境进行交互   它们正在运行。应用程序无法创建此实例   class,但是他们可以通过调用getRuntime()获得单例实例。

答案 1 :(得分:0)

在4.1中首次找到多用户功能时,我编写了一个应用程序来执行此操作。我已开源here。您可以在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还包含删除和重命名用户的方法。