研究了半天,终于搞定了,由于 C# 的 Driver 没有直接获取 Android 分辨率的函数,还得我自己写。查了下资料终于搞定了____^ 分享出来,以后我忘了也可以来参考。

C# 的代码如下:

            Process process = new Process();
            String Text = "";
            process.StartInfo.FileName = @"adb.exe";
            process.StartInfo.Arguments = "shell dumpsys window displays";//获取分辨率信息的关键命令,某一行会包含
// “ init=720x1280 320dpi cur=720x1280 app=720x1184 rng=720x670-1196x1134” 这样子的信息

            process.StartInfo.UseShellExecute = false;
            process.StartInfo.RedirectStandardInput = false;
            process.StartInfo.RedirectStandardOutput = true;
            process.StartInfo.RedirectStandardError = true;
            process.StartInfo.CreateNoWindow = true;
            process.Start();
            StreamReader reader = process.StandardOutput;//截取输出流

            string line = reader.ReadLine();//每次读取一行
            while (!reader.EndOfStream)
            {
                if (line.Contains("init=")){
                    Text = Text + line;
                }
                line = reader.ReadLine();
            }
            process.WaitForExit();//等待程序执行完退出进程
            process.Close();//关闭进程
            reader.Close();//关闭流

            String XString = Text.Substring(Text.IndexOf("=") + 1, Text.IndexOf("x") - Text.IndexOf("=") - 1);
            String YString = Text.Substring(Text.IndexOf("x") + 1, Text.IndexOf("320dpi") - Text.IndexOf("x") - 2);

            Console.WriteLine(XString);
            Console.WriteLine(YString);

            int X = System.Int32.Parse(XString);//这个X和Y就是分辨率信息了!
            int Y = System.Int32.Parse(YString);


↙↙↙阅读原文可查看相关链接,并与作者交流