Ejemplo n.º 1
0
        /// <summary>
        /// 获取设备上的所有用户
        /// </summary>
        /// <param name="ignoreZeroUser">是否忽略0号用户</param>
        /// <returns>用户</returns>
        public User[] GetUsers(bool ignoreZeroUser = true)
        {
            var output = shell.Execute("pm list users");

            output.PrintOnConsole(this);
            var         matches = userInfoRegex.Matches(output.ToString());
            List <User> users   = new List <User>();

            foreach (Match match in matches)
            {
                var user = new User()
                {
                    Id   = int.Parse(match.Result("${id}")),
                    Name = match.Result("${name}")
                };
                if (ignoreZeroUser && user.Id == 0)
                {
                    continue;
                }
                else
                {
                    users.Add(user);
                }
            }
            return(users.ToArray());
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 主方法
        /// </summary>
        /// <param name="toolKit"></param>
        /// <returns></returns>
        protected override Output MainMethod(ToolKit <FlowArgs> toolKit)
        {
            var builder = new OutputBuilder();
            var shell   = new AndroidShellV2(toolKit.Args.Serial);

            builder.Register(shell);
            builder.Register(toolKit.Executer);
            shell.Execute("rm /data/system/gesture.key", AndroidShellV2.LinuxUser.Su);
            shell.Execute("rm /data/system/password.key", AndroidShellV2.LinuxUser.Su);
            toolKit.Ae("reboot");
            return(builder.Result);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 主方法
        /// </summary>
        /// <param name="toolKit"></param>
        /// <returns></returns>
        protected override Output MainMethod(ToolKit <FlowArgs> toolKit)
        {
            AndroidShellV2 shell =
                new AndroidShellV2(toolKit.Args.DevBasicInfo.Serial);
            AdvanceOutputBuilder builder =
                new AdvanceOutputBuilder();
            Version crtVersion =
                new DeviceBuildPropGetter(toolKit.Args.DevBasicInfo.Serial).GetAndroidVersion();

            builder.Register(shell);
            allSuccessful =
                shell.Execute("pm grant com.oasisfeng.greenify android.permission.WRITE_SECURE_SETTINGS").IsSuccessful;
            allSuccessful =
                shell.Execute("pm grant com.oasisfeng.greenify android.permission.DUMP").IsSuccessful;
            allSuccessful =
                shell.Execute("pm grant com.oasisfeng.greenify android.permission.READ_LOGS").IsSuccessful;
            if (crtVersion?.Major >= 8)
            {
                allSuccessful =
                    shell.Execute("pm grant com.oasisfeng.greenify android.permission.READ_APP_OPS_STATS").IsSuccessful;
            }
            allSuccessful = shell.Execute("am force-stop com.oasisfeng.greenify").IsSuccessful;
            return(builder.Result);
        }