当前位置: 移动技术网 > IT编程>移动开发>Android > Android编程实现对电池状态的监视功能示例

Android编程实现对电池状态的监视功能示例

2019年07月24日  | 移动技术网IT编程  | 我要评论

av小游戏,魔鬼复活之人间地狱,维生素d的作用

本文实例讲述了android编程实现对电池状态的监视功能。分享给大家供大家参考,具体如下:

最近在开发一个与gps相关的项目,因为其中涉及到了gps的使用,众所周知,gps是相当耗电的,因此就想着怎么能知道当前的电量,并且在电量达到一个下限的时候,及时提醒给用户,以根据情况关闭gps,节省电量,以备电话急用,后来查资料,看api,终于找到了方法,怎么来监视电量,根据电量的变化来获取当前的电量多少,并且根据其它状态综合对手机进行管理,以达到管理最优的状态。

下面是代码:

private broadcastreceiver mbatinforeceiver = new broadcastreceiver() {
    int intlevel = 0;
    int intscale = 0;
    public void onreceive(context context, intent intent) {
      string action = intent.getaction();
      /*
       * 如果捕捉到的action是action_battery_changed, 就运行onbatteryinforeceiver()
       */
      if (intent.action_battery_changed.equals(action)) {
        intlevel = intent.getintextra("level", 0);
        intscale = intent.getintextra("scale", 100);
        // 电池伏数
        log.d("battery v", "" + intent.getintextra("voltage", 0));
        // 电池温度
        log.d("battery t", "" + intent.getintextra("temperature", 0));
        batteryv = "当前电压为:" + intent.getintextra("voltage", 0);
        batteryt = "当前温度为:" + intent.getintextra("temperature", 0);
        switch (intent.getintextra("status",
            batterymanager.battery_status_unknown)) {
        case batterymanager.battery_status_charging:
          batterystatus = "充电状态";
          break;
        case batterymanager.battery_status_discharging:
          batterystatus = "放电状态";
          break;
        case batterymanager.battery_status_not_charging:
          batterystatus = "未充电";
          break;
        case batterymanager.battery_status_full:
          batterystatus = "充满电";
          break;
        case batterymanager.battery_status_unknown:
          batterystatus = "未知道状态";
          break;
        }
        switch (intent.getintextra("plugged",
            batterymanager.battery_plugged_ac)) {
        case batterymanager.battery_plugged_ac:
          batterystatus2 = "ac充电";
          break;
        case batterymanager.battery_plugged_usb:
          batterystatus2 = "usb充电";
          break;
        }
        switch (intent.getintextra("health",
            batterymanager.battery_health_unknown)) {
        case batterymanager.battery_health_unknown:
          batterytemp = "未知错误";
          break;
        case batterymanager.battery_health_good:
          batterytemp = "状态良好";
          break;
        case batterymanager.battery_health_dead:
          batterytemp = "电池没有电";
          break;
        case batterymanager.battery_health_over_voltage:
          batterytemp = "电池电压过高";
          break;
        case batterymanager.battery_health_overheat:
          batterytemp = "电池过热";
          break;
        }
      }
    }
};

这些信息就是监听广播,根据广播的信息进行判断,如果是电量变化的广播,那么就根据这些信息,更新数据,从而进行分析!

更多关于android相关内容感兴趣的读者可查看本站专题:《android数据库操作技巧总结》、《android编程之activity操作技巧总结》、《android文件操作技巧汇总》、《android编程开发之sd卡操作方法汇总》、《android开发入门与进阶教程》、《android资源操作技巧汇总》、《android视图view技巧总结》及《android控件用法总结

希望本文所述对大家android程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网