2017-02-04 3 views
0

Я работаю над приложением UWP в C#. У нас есть требование выполнить операцию, когда устройство подключено к источнику питания для зарядки. Мы должны ощущать это событие и выполнять свои задачи, которые зависят от него.Событие, связанное с источником питания UWP

До сих пор я нашел this, который вызывает событие, когда 1% зарядки снижается , но нас интересует устройство, подключенное к событию источника питания.

У меня есть один пример, когда событие связывается при загрузке страницы.

Battery.AggregateBattery.ReportUpdated += AggregateBattery_ReportUpdated; 

и получить отчет, как показано ниже.

private void GetBatteryReport(object sender, RoutedEventArgs e) 
     { 
      // Clear UI 
      BatteryReportPanel.Children.Clear(); 


      if (AggregateButton.IsChecked == true) 
      { 
       // Request aggregate battery report 
       RequestAggregateBatteryReport(); 
      } 
      else 
      { 
       // Request individual battery report 
       RequestIndividualBatteryReports(); 
      } 

      // Note request 
      reportRequested = true; 
     } 

Это не то, что мне нужно.

Может ли кто-нибудь, пожалуйста, направить меня, как измерить событие, связанное с источником питания устройства?

+0

ТАК не «мне это нужно, дайте мне код» оказание услуг. Ваш вопрос в его нынешнем виде очень широк и неясен. Скажите, пожалуйста, что именно вы хотите сделать, какие проблемы вы столкнулись, и что вы пытались решить проблему до сих пор. Пожалуйста, покажите нам, какой код вы могли бы попробовать и с чем возникли проблемы. См. Http://stackoverflow.com/help/how-to-ask, чтобы узнать, как задать вопрос –

+0

Я обновил свой вопрос. – Michael

+0

https://msdn.microsoft.com/en-us/library/system.windows.forms.powerstatus.powerlinestatus.aspx –

ответ

0

Попробуйте это, чтобы получить статус батареи:

private void OnPageLoad(object sender, RoutedEventArgs e) 
     { 
      PowerManager.BatteryStatusChanged += OnBatteryStatusChanged; 
     } 

     private async void OnBatteryStatusChanged(object sender, object e) 
     { 
      var bs = PowerManager.BatteryStatus; 

      await Dispatcher.RunAsync(CoreDispatcherPriority.Normal,() => 
      { 
       var dischargeTime = PowerManager.RemainingDischargeTime; 
       this.batteryProgress.Value = PowerManager.RemainingChargePercent; 
       this.batteryProgressPercentage.Text = PowerManager.RemainingChargePercent + " % remaining"; 
       this.batteryStatus.Text = "Battery Level: " + bs; 
       this.batteryDischargeTime.Text = "Battery Left: " + dischargeTime.Hours + " hours " + dischargeTime.Minutes + " minutes " + dischargeTime.Seconds + " seconds"; 
      }); 
     } 
+0

Как мы можем обнаружить событие, связанное с источником питания? Можете ли вы дать больше объяснений. – Michael

+0

Это событие недоступно в приложении UWP. – Michael

+0

@ Майкл .. Предположим, у нас есть планшет. Когда зарядное устройство подключено к планшету. Нам нужно определить это событие. – Michael

0

PowerManager.PowerSupplyStatus может быть адекватным, неадекватным, или NotPresent:

 var pss = PowerManager.PowerSupplyStatus; 
     if (pss.ToString() == "NotPresent") 
     { 
       pluggedin = false; 
     } else { 
       pluggedin = true; 
     } 
Смежные вопросы