研究了半天,终于搞定了,由于 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);