2017-02-04 2 views
0

Ich arbeite an einer UWP-Anwendung in C#. Wir müssen einen Vorgang durchführen, wenn das Gerät zum Laden an die Stromquelle angeschlossen ist. Wir müssen dieses Ereignis spüren und unsere Aufgaben erfüllen, die davon abhängen.Energiequelle verbunden Ereignis UWP

Bisher habe ich this gefunden, die Ereignis auslöst, wenn 1% Ladung gesenkt wird aber wir sind an Gerät interessiert, das an Energiequellenereignis angeschlossen wird.

Ich habe ein Beispiel, wo Ereignis beim Laden der Seite gebunden wird.

Battery.AggregateBattery.ReportUpdated += AggregateBattery_ReportUpdated; 

und erhalten Sie den Bericht wie folgt.

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; 
     } 

Dies ist nicht, was ich benötige.

Kann mir bitte jemand sagen, wie man Gerät Energiequelle verbundenen Ereignis zu spüren?

+0

SO ist kein "ich dies brauchen, gib mir Code" Bedienung. Ihre Frage ist sehr weit und unklar. Bitte teilen Sie uns mit, was genau Sie tun möchten, mit welchen Problemen Sie konfrontiert sind und was Sie bisher versucht haben, das Problem zu lösen. Bitte zeigen Sie uns, welchen Code Sie ausprobiert haben und mit welchem ​​Sie Probleme haben. Siehe http://stackoverflow.com/help/how-to-ask, um zu sehen, wie man eine Frage stellt –

+0

Ich habe meine Frage aktualisiert. – Michael

+0

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

Antwort

0

dieses Versuchen Sie, den Batteriestatus zu erhalten:

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

Wie können wir das Ereignis bei angeschlossener Stromquelle feststellen? Kannst du mehr erklären? – Michael

+0

Dieses Ereignis ist in der UWP-Anwendung nicht verfügbar. – Michael

+0

@Michael .. Angenommen, wir haben Tablet. Wenn das Ladegerät mit einem Tablet verbunden ist. Wir müssen dieses Ereignis erkennen. – Michael

0

PowerManager.PowerSupplyStatus kann ausreichend, mangelhaft oder notPresent sein:

 var pss = PowerManager.PowerSupplyStatus; 
     if (pss.ToString() == "NotPresent") 
     { 
       pluggedin = false; 
     } else { 
       pluggedin = true; 
     }