【问题标题】:Power source connected event UWP电源连接事件 UWP
【发布时间】:2017-11-06 00:45:18
【问题描述】:

我正在使用 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;
        }

这不是我需要的。

谁能指导我如何感知设备电源连接事件?

【问题讨论】:

标签: c# uwp


【解决方案1】:

PowerManager.PowerSupplyStatus 可以是 Adequate、InAdequate 或 NotPresent:

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

【讨论】:

【解决方案2】:

试试这个来获取电池状态:

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

【讨论】:

  • 如何检测电源连接事件?你能提供更多解释吗?
  • 此事件在 UWP 应用程序中不可用。
  • @Michael.. 假设我们有平板电脑。当充电器与平板电脑连接时。我们需要检测该事件。
  • @Michael,抱歉我没有看到 uwp 标签,请查看更新后的代码。
  • @Michael,你解决了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-13
相关资源
最近更新 更多