• 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+"%");

     

  • 相关阅读:
    MyCat简介+Mybatis实现多租户(链接)
    mybatis的sql执行过程底层源码分析和缓存原理分析
    推荐算法数据集
    CentOS系统初始化
    NAT
    VRRP
    BGP协议的原理及应用
    ospf协议的重分发
    静态路由的原理与配置、动态路由
    OSPF (企业内部使用的动态路由协议)
  • 原文地址:https://www.cnblogs.com/dazuihou/p/3650644.html
Copyright © 2020-2023  润新知