我正在开发一个通用的Windows Phone应用程序,用于检查是否通过usb或AC充电进行连接。 我用了这段代码:
var deviceInfo = await DeviceInformation.FindAllAsync(Battery.GetDeviceSelector());
var aggBattery = Battery.AggregateBattery;
var report = aggBattery.GetReport();
report.Status.ToString();
适用于某些设备。 很少有设备(从WP8升级到WP10的设备)需要30秒才能检测到"充电模式"。
答案 0 :(得分:0)
我想知道是否有办法检测usb连接?
要检测USB设备,我们可以使用DeviceWatcher对象来检测设备何时添加到系统或从系统中删除。
对于Windows 10 Universal应用,这是一个很好的示例:Device enumeration sample
或获得电池电量?
电池类没有提供获取电池电量的方法。
作为一种解决方法,我们可以使用BatteryReport.RemainingCapacityInMilliwattHours来获取电池的剩余电量,以毫瓦为单位。我们也可以使用BatteryReport.FullChargeCapacityInMilliwattHours来获得电池的充满电的能量容量。然后我们可以使用BatteryReport.RemainingCapacityInMilliwattHours / BatteryReport.FullChargeCapacityInMilliwattHours来获得电池电量。
例如:
var deviceInfo = await DeviceInformation.FindAllAsync(Battery.GetDeviceSelector());
var aggBattery = Battery.AggregateBattery;
var report = aggBattery.GetReport().RemainingCapacityInMilliwattHours;
var report3 = aggBattery.GetReport().FullChargeCapacityInMilliwattHours;
MyText.Text = (report / (double)report3).ToString();