首页 > 代码库 > android电池信息简介
android电池信息简介
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:background="@color/background" 6 android:gravity="center_horizontal" 7 android:orientation="vertical" > 8 9 <TextView 10 android:layout_width="match_parent" 11 android:layout_height="wrap_content" 12 android:gravity="center_horizontal|center_vertical" 13 android:textSize="25sp" 14 android:text="电池信息简介" /> 15 16 <ImageView 17 android:id="@+id/iv_battery" 18 android:layout_width="match_parent" 19 android:layout_height="80dip" /> 20 21 <LinearLayout 22 android:layout_width="match_parent" 23 android:layout_height="wrap_content" 24 android:orientation="horizontal" > 25 26 <ImageView 27 android:id="@+id/imageView1" 28 android:layout_width="50dip" 29 android:layout_height="50dip" 30 android:layout_marginLeft="10dip" 31 android:background="@drawable/battery_temperature" /> 32 33 <TextView 34 android:layout_width="140dip" 35 android:layout_height="wrap_content" 36 android:layout_marginTop="15dip" 37 android:textColor="@android:color/white" 38 android:text="电量来源:" 39 android:textSize="20sp" /> 40 41 <TextView 42 android:id="@+id/textCD" 43 android:layout_width="match_parent" 44 android:layout_height="wrap_content" 45 android:textColor="@android:color/white" 46 android:layout_marginTop="15dip" 47 android:text="充电中!!" 48 android:textSize="20sp" /> 49 </LinearLayout> 50 51 <View 52 android:layout_width="match_parent" 53 android:layout_height="1dip" 54 android:background="#FFFFFF" /> 55 56 <LinearLayout 57 android:layout_width="match_parent" 58 android:layout_height="wrap_content" 59 android:orientation="horizontal" > 60 61 <ImageView 62 android:id="@+id/imageView2" 63 android:layout_width="50dip" 64 android:layout_height="50dip" 65 android:layout_marginLeft="10dip" 66 android:background="@drawable/battery_level" /> 67 68 <TextView 69 android:layout_width="140dip" 70 android:layout_height="wrap_content" 71 android:layout_marginTop="15dip" 72 android:text="电池剩余容量:" 73 android:textColor="@android:color/white" 74 android:textSize="20sp" /> 75 76 <TextView 77 android:id="@+id/textRL" 78 android:layout_width="match_parent" 79 android:layout_height="wrap_content" 80 android:layout_marginTop="15dip" 81 android:text="充电中!!" 82 android:textColor="@android:color/white" 83 android:textSize="20sp" /> 84 </LinearLayout> 85 86 <View 87 android:layout_width="match_parent" 88 android:layout_height="1dip" 89 android:background="#FFFFFF" /> 90 91 <LinearLayout 92 android:layout_width="match_parent" 93 android:layout_height="wrap_content" 94 android:orientation="horizontal" > 95 96 <ImageView 97 android:id="@+id/imageView3" 98 android:layout_width="50dip" 99 android:layout_height="50dip"100 android:layout_marginLeft="10dip"101 android:background="@drawable/battery_status" />102 103 <TextView104 android:layout_width="140dip"105 android:layout_height="wrap_content"106 android:layout_marginTop="15dip"107 android:text="电池状态:"108 android:textColor="@android:color/white"109 android:textSize="20dip" />110 111 <TextView112 android:id="@+id/textZT"113 android:layout_width="match_parent"114 android:layout_height="wrap_content"115 android:layout_marginTop="15dip"116 android:text="充电中!!"117 android:textColor="@android:color/white"118 android:textSize="20sp" />119 </LinearLayout>120 121 <View122 android:layout_width="match_parent"123 android:layout_height="1dip"124 android:background="#FFFFFF" />125 126 <LinearLayout127 android:layout_width="match_parent"128 android:layout_height="wrap_content"129 android:orientation="horizontal" >130 131 <ImageView132 android:id="@+id/imageView4"133 android:layout_width="50dip"134 android:layout_height="50dip"135 android:layout_marginLeft="10dip"136 android:background="@drawable/battery_technology" />137 138 <TextView139 android:layout_width="140dip"140 android:layout_height="wrap_content"141 android:layout_marginTop="15dip"142 android:text="电池电压:"143 android:textColor="@android:color/white"144 android:textSize="20dip" />145 146 <TextView147 android:id="@+id/textDY"148 android:layout_width="match_parent"149 android:layout_height="wrap_content"150 android:layout_marginTop="15dip"151 android:textColor="@android:color/white"152 android:text="充电中!!"153 android:textSize="20sp" />154 </LinearLayout>155 156 <View157 android:layout_width="match_parent"158 android:layout_height="1dip"159 android:background="#FFFFFF" />160 161 <LinearLayout162 android:layout_width="match_parent"163 android:layout_height="wrap_content"164 android:orientation="horizontal" >165 166 <ImageView167 android:id="@+id/imageView5"168 android:layout_width="50dip"169 android:layout_height="50dip"170 android:layout_marginLeft="10dip"171 android:background="@drawable/battery_plugged" />172 173 <TextView174 android:layout_width="140dip"175 android:layout_height="wrap_content"176 android:layout_marginTop="15dip"177 android:text="电池温度:"178 android:textColor="@android:color/white"179 android:textSize="20dip" />180 181 <TextView182 android:id="@+id/textWD"183 android:layout_width="match_parent"184 android:layout_height="wrap_content"185 android:layout_marginTop="15dip"186 android:text="充电中!!"187 android:textColor="@android:color/white"188 android:textSize="20sp" />189 </LinearLayout>190 191 <View192 android:layout_width="match_parent"193 android:layout_height="1dip"194 android:background="#FFFFFF" />195 196 <LinearLayout197 android:layout_width="match_parent"198 android:layout_height="wrap_content"199 android:orientation="horizontal" >200 201 <ImageView202 android:id="@+id/imageView5"203 android:layout_width="50dip"204 android:layout_height="50dip"205 android:layout_marginLeft="10dip"206 android:background="@drawable/battery_scale_2" />207 208 <TextView209 android:layout_width="140dip"210 android:layout_height="wrap_content"211 android:layout_marginTop="15dip"212 android:text="电池类型:"213 android:textColor="@android:color/white"214 android:textSize="20dip" />215 216 <TextView217 android:id="@+id/textLX"218 android:layout_width="match_parent"219 android:layout_height="wrap_content"220 android:layout_marginTop="15dip"221 android:text="充电中!!"222 android:textColor="@android:color/white"223 android:textSize="20sp" />224 </LinearLayout>225 226 </LinearLayout>
1 package com.example.testdemo; 2 3 import android.app.Activity; 4 import android.content.BroadcastReceiver; 5 import android.content.Context; 6 import android.content.Intent; 7 import android.content.IntentFilter; 8 import android.graphics.Color; 9 import android.os.BatteryManager; 10 import android.os.Bundle; 11 import android.view.Window; 12 import android.widget.ImageView; 13 import android.widget.TextView; 14 15 public class MainActivity extends Activity { 16 17 private ImageView iv_battery; 18 private ImageView image; // 电池状态图片 19 private TextView textCD; // 电池充电状态 20 private TextView textRL; // 电池剩余容量 21 private TextView textZT; // 电池状态 22 private TextView textDY; // 电池电压mV 23 private TextView textWD; // 电池温度 24 private TextView textLX; // 电池类型 25 26 private BroadcastReceiver myBroadcastReciver = new BroadcastReceiver() { 27 28 @Override 29 public void onReceive(Context context, Intent intent) { 30 // TODO Auto-generated method stub 31 // 电池剩余容量 32 int level = (int) (intent 33 .getIntExtra(BatteryManager.EXTRA_LEVEL, 0) 34 / (float) intent.getIntExtra(BatteryManager.EXTRA_SCALE, 35 100) * 100); 36 textRL.setText(level + "%"); 37 // 根据电量判断用什么图片 38 if (level > 45 || level <= 50) { 39 iv_battery.setImageResource(R.drawable.battery9); 40 } else if (level == 0) { 41 iv_battery.setImageResource(R.drawable.battery0); 42 } else if (level > 0 || level <= 10) { 43 iv_battery.setImageResource(R.drawable.battery2); 44 } else if (level > 10 || level <= 15) { 45 iv_battery.setImageResource(R.drawable.battery3); 46 } else if (level > 15 || level <= 20) { 47 iv_battery.setImageResource(R.drawable.battery4); 48 } else if (level > 20 || level <= 25) { 49 iv_battery.setImageResource(R.drawable.battery5); 50 } else if (level > 25 || level <= 30) { 51 iv_battery.setImageResource(R.drawable.battery6); 52 } else if (level > 30 || level <= 35) { 53 iv_battery.setImageResource(R.drawable.battery7); 54 } else if (level > 35 || level <= 45) { 55 iv_battery.setImageResource(R.drawable.battery8); 56 } else if (level > 50 || level <= 60) { 57 iv_battery.setImageResource(R.drawable.battery10); 58 } else if (level > 60 || level <= 65) { 59 iv_battery.setImageResource(R.drawable.battery11); 60 } else if (level > 65 || level <= 70) { 61 iv_battery.setImageResource(R.drawable.battery12); 62 } else if (level > 70 || level <= 75) { 63 iv_battery.setImageResource(R.drawable.battery13); 64 } else if (level > 75 || level <= 80) { 65 iv_battery.setImageResource(R.drawable.battery14); 66 } else if (level > 80 || level <= 85) { 67 iv_battery.setImageResource(R.drawable.battery15); 68 } else if (level > 85 || level <= 90) { 69 iv_battery.setImageResource(R.drawable.battery16); 70 } else if (level > 90 || level <= 100) { 71 iv_battery.setImageResource(R.drawable.battery17); 72 } 73 // 电池当前使用状态 74 // image.setImageResource(intent.getIntExtra( 75 // BatteryManager.EXTRA_ICON_SMALL, 0)); 76 switch (intent.getIntExtra(BatteryManager.EXTRA_STATUS, 1)) { 77 case BatteryManager.BATTERY_STATUS_CHARGING: 78 if (intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 1) == BatteryManager.BATTERY_PLUGGED_AC) 79 textCD.setText("充电器充电中"); 80 else 81 textCD.setText("USB充电中"); 82 break; 83 case BatteryManager.BATTERY_STATUS_DISCHARGING: 84 textCD.setText("放电中"); 85 break; 86 case BatteryManager.BATTERY_STATUS_FULL: 87 textCD.setText("已充满"); 88 break; 89 case BatteryManager.BATTERY_STATUS_NOT_CHARGING: 90 textCD.setText("未充满"); 91 break; 92 } 93 // 电池状态 94 switch (intent.getIntExtra(BatteryManager.EXTRA_HEALTH, 1)) { 95 case BatteryManager.BATTERY_HEALTH_DEAD: 96 textZT.setText("电池已损坏!"); 97 textZT.setTextColor(Color.RED); 98 break; 99 case BatteryManager.BATTERY_HEALTH_GOOD:100 textZT.setText("健康");101 break;102 case BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE:103 textZT.setText("电压过高");104 break;105 case BatteryManager.BATTERY_HEALTH_OVERHEAT:106 textZT.setText("温度过高");107 break;108 case BatteryManager.BATTERY_HEALTH_UNKNOWN:109 textZT.setText("未知");110 break;111 case BatteryManager.BATTERY_HEALTH_UNSPECIFIED_FAILURE:112 textZT.setText("未知故障");113 break;114 }115 // 电池电压116 textDY.setText(intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, 1)117 + "mV");118 // 电池温度119 textWD.setText((intent.getIntExtra(120 BatteryManager.EXTRA_TEMPERATURE, 1) / 10.0) + "℃");121 // 电池类型122 textLX.setText(intent123 .getStringExtra(BatteryManager.EXTRA_TECHNOLOGY));124 125 }126 };127 128 @Override129 public void onCreate(Bundle savedInstanceState) {130 super.onCreate(savedInstanceState);131 requestWindowFeature(Window.FEATURE_NO_TITLE);132 setContentView(R.layout.activity_main);133 textCD = (TextView) findViewById(R.id.textCD);134 textRL = (TextView) findViewById(R.id.textRL);135 textZT = (TextView) findViewById(R.id.textZT);136 textDY = (TextView) findViewById(R.id.textDY);137 textWD = (TextView) findViewById(R.id.textWD);138 textLX = (TextView) findViewById(R.id.textLX);139 image = (ImageView) findViewById(R.id.imageView1);140 iv_battery = (ImageView) findViewById(R.id.iv_battery);141 registerReceiver(myBroadcastReciver, new IntentFilter(142 Intent.ACTION_BATTERY_CHANGED));143 }144 145 @Override146 protected void onDestroy() {147 // TODO Auto-generated method stub148 super.onDestroy();149 unregisterReceiver(myBroadcastReciver);150 }151 }
完整代码下载:http://pan.baidu.com/s/1qWrznkg
android电池信息简介
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。