Android根据电量变化为不同图片的方法【电池电量提示】
16lz
2022-04-05
1 主类
package com.jli.battery;import android.app.Activity;import android.app.Service;import android.content.BroadcastReceiver;import android.content.ComponentName;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.content.ServiceConnection;import android.content.SharedPreferences;import android.graphics.BitmapFactory;import android.os.Bundle;import android.os.IBinder;import android.widget.Button;import android.widget.ImageView;import android.widget.TextView;public class Main extends Activity {private ImageView tvBatteryChanged; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tvBatteryChanged = (ImageView)findViewById(R.id.test); //注册一个接受广播类型 registerReceiver(new BatteryBroadcastReceiver(), new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); } /**接受电量改变广播*/ class BatteryBroadcastReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { if(intent.getAction().equals(Intent.ACTION_BATTERY_CHANGED)){ int level = intent.getIntExtra("level", 0); int scale = intent.getIntExtra("scale", 100); int curPower = (level * 100 / scale)/25; switch (curPower) {case 0:tvBatteryChanged.setImageBitmap(BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.power0));break;case 1:tvBatteryChanged.setImageBitmap(BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.power1));break;case 2:tvBatteryChanged.setImageBitmap(BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.power2));break;case 3:tvBatteryChanged.setImageBitmap(BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.power3));break;case 4:tvBatteryChanged.setImageBitmap(BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.power4));break;} } } }}
2 xml
<?xml version="1.0" encoding="utf-8"?>
3 然后记得要加上这句,这个应该是注册电池广播的,如果不加的话会报错,放在Manifest.xml这个文件里面
4 效果图【其实代码很好理解的,都不用怎么仔细看的】
更多相关文章
- Android调用系统下载服务下载文件
- Android手机开发:开机自动启动程序
- BroadcastReceiver广播监听android网络状态
- 《Android(安卓)Binder5-注册服务》
- [Android]开启/关闭/监听 飞行模式
- android监听手机网络连接状态改变的后台服务
- Android(安卓)使用广播(BroadcastReceiver)传递数据
- Android(安卓)监听网络变化
- Android通过socket连接服务器(PC)