zoukankan      html  css  js  c++  java
  • BroadcastReceiver监听电量变化

      用BroadcastReceiver监听电量的变化,可以实现BroadcastReceiver接收电量变化的广播,然后获取电量百分比信息。

      BatteryChangedReceiver.java

    public class BatteryChangedReceiver extends BroadcastReceiver{
        private static final String TAG="BatteryChangedReceiver";
        @Override
        public void onReceive(Context context,Intent intent){
            int currLevel=intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);//当前电量
            int total=intent.getIntExtra(BatteryManager.EXTRA_SCALE, 1);//总电量
            int percent=currLevel*100/total;
            Log.i(TAG,"battery:"+percent+"%");
        }
    }

      在清单文件中注册广播接收者以及要拦截的Action:

    <receiver android:name=".BatteryChangedReceiver">
        <intent-filter>
            <action android:name="android.intent.action.BATTERY_CHANGED"/>
        </intent-filter>
    </receiver>

      有些时候,我们需要立即获取电量,而不是等电量变化的广播,可以通过下面的方式:

    Intent batteryIntent=getApplicationContext().registerReceiver(null,new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
    int currLevel=batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL,0);
    int total=batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE,1);
    int percent=currLevel*100/total;
    Log.i("battery","battery:"+percent+"%");

     

  • 相关阅读:
    ER/数据库建模工具之MySQL Workbench的使用
    HBase基础架构及原理
    HBase在HDFS上的目录介绍
    zookeeper的三种安装模式
    YCSB之HBase性能测试
    kerberos简单介绍
    springboot 文件上传大小配置
    List集合三种遍历方法
    Linux中给普通用户添加sudo权限
    Linux查看所有用户和组信息
  • 原文地址:https://www.cnblogs.com/dazuihou/p/3650644.html
Copyright © 2011-2022 走看看