WP8开发系列2:如何获取设备电源信息?电量

引言:

在Windows Phone 7.5时代, 由于API层面有着诸多限制,导致开发者们获取设备电源的相关信息是不可能的任务, 好在WP8 SDK中加入了对此方面的支持, 这样的话, 我们就可以在应用中拿到电源的剩余电量百分比,剩余使用时间等.

1、需要哪些命名空间?处理哪些事件?获取哪几个属性值?

      主要用到2个属性:

      Battery.RemainingChargePercent:获取手机电源剩余电量的百分比。

      Battery.RemainingDischargeTime:获取手机电源剩余显示时间.

      Battery.RemainingChargePercentChanged:剩余电量发生变化时的事件处理。

2、设计逻辑:

      启动应用时,在MainPage的构造函数中获取当前设备的电源对象,同时声明当电量发生改变时的委托处理。

      定义一个更新用户界面的方法,当有任何电量发生变化后,及时与UI进行交互。

3、实现功能代码如下:

using Windows.Phone.Devices.Power;
 
public partial class SystemPage : PhoneApplicationPage
    {
        readonly Battery _battery;
       public SystemPage()
        {
            InitializeComponent();
            //获取当前设备电源对象,注意:不需要创建对象实体
            _battery = Battery.GetDefault();
            _battery.RemainingChargePercentChanged += _battery_RemainingChargePercentChanged;
            //更新用户界面操作
             UpdateUI();
        }
      //电源百分比变化时,及时更新UI
      void _battery_RemainingChargePercentChanged(object sender, object e)
        {
            UpdateUI();
        }
      void UpdateUI()
        {
            this.tblBatteryChargePercent.Text = string.Format("{0} %", _battery.RemainingChargePercent);
           //显示剩余电量使用时间,注意:RenainingDischargeTime包含多种格式的时间显示方式,可自行取值。
            this.tblBatteryDisplayTime.Text = string.Format("{0} 分钟",  _battery.RemainingDischargeTime.TotalMinutes);
        }
}

4、以上代码最终的实现如下:

a

原文:http://jasonwei.com/archives/457

posted @ 2012-10-11 14:37  NSDefaultRunLoopMode  阅读(511)  评论(0编辑  收藏  举报