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

     

  • 相关阅读:
    【转】免费搭建独立博客,WordPress+独立域名+独立空间
    MongoDB索引
    面向对象
    浏览器为webapp
    转载Chrome浏览器IOS
    浅淡Webservice、WSDL三种服务访问的方式(附案例)
    Plupload
    转载Yale CAS + .net Client 实现 SSO(6)
    java 对Hbase的基本操作
    【精】iOS开发视频教程下载
  • 原文地址:https://www.cnblogs.com/dazuihou/p/3650644.html
Copyright © 2011-2022 走看看