安卓(Android) 怎么检查shell中是否启用了多用户

2019年10月13日15:20:02安卓(Android) 怎么检查shell中是否启用了多用户已关闭评论 398 995字阅读3分19秒

1.简介

安卓(Android) 怎么检查shell中是否启用了多用户?——请看下文。

2.示例代码

/**
 * 版权所有 编程十万个怎么办(www.tah1986.com)
 */

 


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 boolean checkMultiUserEnabled() {
        try {
            Process p = Runtime.getRuntime().exec("pm get-max-users\n");
            DataOutputStream os = new DataOutputStream(p.getOutputStream());
            os.flush();

            InputStream is = p.getInputStream();
            byte[] buffer = new byte[BUFF_LEN];
            int read;
            String out = new String();
            
            while (true) {
                read = is.read(buffer);
                out += new String(buffer, 0, read);
                if (read < BUFF_LEN) {
                    
                    break;
                }
            }

            

            if (out.contains("Maximum supported users:")) {
                out = out.replace("\n", "").replace("\r", "");
                String[] maxUsers = out.split(": ");
                if (Integer.valueOf(maxUsers[1]) == 1) {
                    
                    return false;
                } else {
                    
                    return true;
                }
            }

        } catch (IOException e) {
            Log.e(TAG,
                    "checkMultiUserEnabled IOException: " + e.getMessage());
        } catch (Exception e) {
            Log.e(TAG, "checkMultiUserEnabled Exception: " + e.getMessage());
        }
        return false;
    }
}

 
继续阅读
编程十万个怎么办