2016-05-15 4 views
0

Я разрабатываю универсальное приложение для Windows-телефона, которое проверяет наличие соединения через USB или зарядку переменного тока. Я использовал этот код:Проверьте, есть ли соединение usb/AC

var deviceInfo = await DeviceInformation.FindAllAsync(Battery.GetDeviceSelector()); 
    var aggBattery = Battery.AggregateBattery; 
    var report = aggBattery.GetReport(); 

    report.Status.ToString(); 

Это хорошо работает для некоторых устройств. Существует несколько устройств (устройств, которые были обновлены с WP8 до WP10), что занимает 30 секунд, чтобы обнаружить «режим зарядки».

+1

Не уверен, что вы просите –

+0

я хочу знать, если есть способ для обнаружения соединения USB? или получить уровень заряда батареи? –

ответ

0

Я хочу знать, есть ли способ обнаружить соединение USB?

Для обнаружения устройства USB мы можем использовать объект DeviceWatcher, чтобы определить, когда устройство добавлено или удалено из системы.

для Windows 10 Универсальное приложение, вот хороший пример: 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(); 
+0

это именно то, что я делаю, но устройства, которые обновлены до Windows Phone 10 (не чистый WP10), обнаруживают зарядку только через 30 секунд. –