`
龙哥IT
  • 浏览: 252714 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

获取电池使用情况

 
阅读更多

Android之手机电池电量应用

原理概述:

    手机电池电量的获取在应用程序的开发中也很常用,Android系统中手机电池电量发生变化的消息是通过Intent广播来实现的,常用的IntentAction  Intent.ACTION_BATTERY_CHANGED(电池电量发生改变时)、Intent.ACTION_BATTERY_LOW(电池电量达到下限时)、和Intent.ACTION_BATTERY_OKAY(电池电量从低恢复到高时)。

    当需要在程序中获取电池电量的信息时,需要为应用程序注册BroadcastReceiver组件,当特定的Action事件发生时,系统将会发出相应的广播,应用程序就可以通过BroadcastReceiver来接受广播,并进行相应的处理。

main.xml布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ToggleButton android:id="@+id/tb"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:textOn="停止获取电量信息"
        android:textOff="获取电量信息" />
    <TextView android:id="@+id/tv" 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

 

BatteryActivity

package com.ljq.activity;

import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.TextView;
import android.widget.ToggleButton;
import android.widget.CompoundButton.OnCheckedChangeListener;


public class BatteryActivity extends Activity {
    private ToggleButton tb=null;
    private TextView tv=null;
    private BatteryReceiver receiver=null;
    
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        receiver=new BatteryReceiver();
        tv=(TextView)findViewById(R.id.tv);
        tb=(ToggleButton)findViewById(R.id.tb);
        tb.setOnCheckedChangeListener(new OnCheckedChangeListener(){
            public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
                //获取电池电量
                if(isChecked){
                    IntentFilter filter=new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
                    registerReceiver(receiver, filter);//注册BroadcastReceiver
                }else {
                    //停止获取电池电量
                    unregisterReceiver(receiver);
                    tv.setText(null);
                }
                
            }
        });
        
    }
    
    private class BatteryReceiver extends BroadcastReceiver{
        @Override
        public void onReceive(Context context, Intent intent) {
            int current=intent.getExtras().getInt("level");//获得当前电量
            int total=intent.getExtras().getInt("scale");//获得总电量
            int percent=current*100/total;
            tv.setText("现在的电量是"+percent+"%。");
        }
    }
    

}

 

分享到:
评论

相关推荐

    Android电池耗电时间获取

    计算目前的手机电量还能撑多久 主要取决于 xml 解析和 PowerProfile里面的定义 来获取 值 最后靠计算来 得到 还能打电话多久 看电子书多久等等 代码没写完 后面会续上 但是这已经可以看到效果了

    一键获取电脑电池损耗情况

    一键获取电脑电池损耗情况

    C# 笔记本电池状态信息获取代码(VS.net)

    下面将详细介绍如何利用C#来获取电池状态,并对提供的"Winpowermanager"文件进行分析。 首先,我们需要了解Win32 API中的关键函数,比如`GetSystemPowerStatus`,这个函数可以从系统中获取电源状态信息,包括电池的...

    react native的插件,它为设备的电池状态添加了一个监听器

    react-native-battery 一个跨平台的 React Native 模块,返回设备的电池电量/状态。 支持iOS和安卓。 包安装 npm install react-native-battery --save iOS 自动设置 react-native 链接 react-native-battery ...

    Android中文API

    在电池管理方面,`BATTERY_STATS`权限允许应用获取电池使用情况的统计信息。`CALL_PHONE`和`CALL_PRIVILEGED`权限涉及电话拨打,前者需要用户确认,后者则允许拨打包括紧急号码在内的任何电话。 总之,Android中文...

    MAC 电池健康度检测

    在苹果的Mac操作系统中,了解设备的电池...通过使用"MAC电池健康度检测"软件,用户能够获取详尽的电池报告,从而做出明智的决策,是否需要进行电池维护或更换。同时,正确地使用和保养电池也是延长其使用寿命的关键。

    Android权限列表permission说明.doc

    9. **BATTERY_STATS**:获取电池使用情况的统计信息,帮助优化应用的能源效率。 10. **BLUETOOTH**和**BLUETOOTH_ADMIN**:分别代表对蓝牙设备的访问权限和管理权限,包括配对、连接等操作。 11. **BRICK**:这是...

    swift-SHClientInfo获取客户端APP各种信息(CPU地址磁盘信息电池信息硬件信息)

    在Swift开发中,有时我们需要获取iOS设备的各种详细信息,如CPU状态、设备地址、磁盘信息、电池状态以及硬件规格等。这些信息对于调试、性能分析或者特定功能实现(如健康跟踪应用)至关重要。`SHClientInfo`库就是...

    Android 获取设备信息 测网速 电池监控

    例如,`BatteryManager.BATTERY_STATUS`可以获取电池当前的状态(充电、放电等),`BatteryManager.BATTERY_LEVEL`返回电池百分比。还可以监听`ACTION_BATTERY_CHANGED`广播,实时获取电池状态的变化。 4. **内存...

    精彩编程与编程技巧-用VB编程检测当前电池使用情况...

    本示例中使用了Windows API来获取电池状态。 - **System Information Control**:`Windows Sysinfo Control` 是一个用于获取系统信息的控件,可以通过它调用Windows API函数来获取系统状态,例如CPU信息、内存信息...

    动力电池发热量获取三种方法 硬件工程师电路分析物联网模电单片机嵌入式技术.doc

    文章中详细介绍了使用ARC测试获取50Ah三元电池发热量的具体步骤: 首先,电池需要经过预处理循环,包括充电、静置、放电的循环,以确保电池状态稳定。如果连续两次的放电容量变化不超过额定的5%,则认为电池准备好...

    获取内存使用状态的资源

    在Linux系统中,可以利用`free`命令,如`free -m`展示内存使用情况(单位为MB),更详细的统计信息可以通过`/proc/meminfo`文件获取。在MacOS中,可以使用`top`或`sysctl -a`命令来查看内存状态。 其次,开发人员在...

    Comsol软件电池与燃料电池模块简介

    除此之外,还包括电流分布接口,这些接口有助于模拟电池中阳极和阴极上的电流情况,以及电荷转移反应。在燃料电池建模方面,提供了流体流动和传热接口,与电流分布接口结合,为燃料电池的研究提供了理论基础。 电池...

    获取CPU使用率

    了解如何获取CPU使用情况可以帮助开发者更好地管理资源,防止应用过度消耗CPU,从而提高用户体验。以下是一些关于如何在Android中获取CPU使用率的详细知识: 1. **CPU使用率概念**: CPU使用率是指一段时间内CPU...

    磷酸铁锂电池充放电数据_电动汽车电池充放电数据.zip

    数据文件中的充放电曲线可以帮助分析电池的功率输出、能量效率以及老化情况。通过对这些数据的分析,工程师可以优化电池管理系统(BMS),以最佳方式分配电池组的充放电策略,延长电池寿命,提高整车的能源利用效率...

    蓄电池剩余放电时间综合分析模型研究

    通过在线监测设备获取电池电压、电阻、电流等实时数据输入模型计算,综合分析预测电池的健康状况,以及使用蓄电池相关信息来进行修正;在蓄电池组放电时,结合放电电压及所预测的蓄电池健康状况,进行模糊分类以及自适应...

    android 电池监控 源码

    在Android平台上,电池监控是应用程序开发中的一个重要领域,它可以帮助用户了解设备的电池使用情况,优化性能并延长电池寿命。本源码提供了实现这一功能的具体实现细节,让我们深入探讨一下这个"andbatdog电池监控...

Global site tag (gtag.js) - Google Analytics