首页 > 代码库 > 监控电量

监控电量

---恢复内容开始---

题目: 编写程序,监控手机电量,当电量小于15%的时候进行提示。

 

监控电池电量的变化,像这种操作特别频繁的广播事件,通过静态注册的方式是无效的。

所以需要对其进行动态注册。

 

第一步首先要创建一个广播接受者。

1 @Override
2     public void onReceive(Context context, Intent intent) {
3         //通过getIntExtra()方法获得变化的电量
4         int level = intent.getIntExtra("level",0);
5         //当电量小于15时,通过Toast弹出提示
6         if(level < 15){
7             Toast.makeText(context,"电池电量不足",Toast.LENGTH_SHORT).show();
8         }
9     }

然在对其进行代码注册

 1 public class MainActivity extends AppCompatActivity {
 2 
 3     BatteryReceiver batteryReceiver;
 4 
 5     @Override
 6     protected void onCreate(Bundle savedInstanceState) {
 7         super.onCreate(savedInstanceState);
 8         setContentView(R.layout.activity_main);
 9         IntentFilter intentFilter = new IntentFilter();
10         intentFilter.addAction(Intent.ACTION_BATTERY_CHANGED); //监控电池电量的Action
11         batteryReceiver = new BatteryReceiver();               //实例化BattertReceiver
12         registerReceiver(batteryReceiver,intentFilter);
13     }
14 
15     @Override
16     protected void onDestroy(){
17         super.onDestroy();
18         unregisterReceiver(batteryReceiver);   //当此activity销毁时解除注册
19     }
20 }

最后一步 在清单文件里对其进行添加权限

 

1 //监听需要权限
2     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

 

监控电量