---恢复内容开始---
题目: 编写程序,监控手机电量,当电量小于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"/>