Android examples for Android OS:Shell
create Guest User from Shell
/*/*from w w w .j a v a2 s.com*/ * Copyright 2014 Great Bytes Software * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ //package com.java2s; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import android.util.Log; public class Main { public static String TAG = "TerminalUtils"; private static final int BUFF_LEN = 4096; public static int createGuestUser() { Process p; try { p = Runtime.getRuntime().exec("su"); DataOutputStream os = new DataOutputStream(p.getOutputStream()); os.writeBytes("pm create-user \"guest\"\n"); os.writeBytes("exit\n"); os.flush(); InputStream is = p.getInputStream(); byte[] buffer = new byte[BUFF_LEN]; int read; String out = new String(); //read method will wait forever if there is nothing in the stream while (true) { read = is.read(buffer); out += new String(buffer, 0, read); if (read < BUFF_LEN) { //we have read everything break; } } //Log.i(TAG, "out: " + out); if (out.contains("Success:")) { out = out.replace("\n", "").replace("\r", ""); String[] strUserId = out.split("id "); //Successfully created new user int userId = Integer.valueOf(strUserId[1]); return userId; } else { //Multiuser feature is enabled return -1; } } catch (IOException e) { Log.e(TAG, "createGuestUser IOException: " + e.getMessage()); } catch (Exception e) { Log.e(TAG, "createGuestUser Exception: " + e.getMessage()); } return -1; } }