How to construct a DeviceClient
What can we do for you?
I want to listen to a device connection,but I don't know how to obtain a "DeviceClient" object,so I can execute actions on it...I have the DeviceData but it doesn't help me much...
public async Task Start()
{
StartServerResult startServerResult = await AdbServer.Instance.StartServerAsync(@"C:\Users\laptop\AppData\Local\Android\Sdk\platform-tools\adb.exe", false, CancellationToken.None);
Trace.WriteLine(startServerResult); // result is already running
DeviceMonitor deviceMonitor = null;
deviceMonitor = new DeviceMonitor(new AdbSocket(new IPEndPoint(IPAddress.Loopback, AdbClient.AdbServerPort)));
deviceMonitor.DeviceConnected += (sender, e) =>
{
Trace.WriteLine($"Device connected: {e.Device}");
//need to obtain a DeviceClient object,to execute a swipe method.
};
deviceMonitor.DeviceDisconnected += (sender, e) => Trace.WriteLine($"Device disconnected: {e.Device}");
deviceMonitor.DeviceChanged += (sender, e) => Trace.WriteLine($"Device state changed: {e.Device} {e.OldState} -> {e.NewState}");
await deviceMonitor.StartAsync();
// Additional code if needed
}
@wherewhere thanks mate! I know that I can init a new adbclient,but I want to listen in the background for a incoming device connection and disconnection...and the device monitor classs provide me that function....how can I do it with adbclient?
DeviceClient doesn't use IAdbClient. It use IAdbSocket to monitor device list changing. So you need to init an AdbClient by yourself. You can save one as a static property and use it when device list changed.
@wherewhere thanks sir! Sorry to bother you,but can you please give me a code example for it?