Android如何得到电量、温度、电压
2015-04-08 15:43
465 查看
<pre name="code" class="java">java代码:
package org.cyj604b.getcputemperature; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.BatteryManager; import android.os.Bundle; import android.widget.TextView; public class Battery extends Activity { private int BatteryN; //目前电量 private int BatteryV; //电池电压 private double BatteryT; //电池温度 private String BatteryStatus; //电池状态 private String BatteryTemp; //电池使用情况 public TextView TV; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 注册一个系统 BroadcastReceiver,作为访问电池计量之用这个不能直接在AndroidManifest.xml中注册 registerReceiver(mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); TV = (TextView)findViewById(R.id.TV); } /* 创建广播接收器 */ private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { String action = intent.getAction(); /* * 如果捕捉到的action是ACTION_BATTERY_CHANGED, 就运行onBatteryInfoReceiver() */ if (Intent.ACTION_BATTERY_CHANGED.equals(action)) { BatteryN = intent.getIntExtra("level", 0); //目前电量 BatteryV = intent.getIntExtra("voltage", 0); //电池电压 BatteryT = intent.getIntExtra("temperature", 0); //电池温度 switch (intent.getIntExtra("status", BatteryManager.BATTERY_STATUS_UNKNOWN)) { case BatteryManager.BATTERY_STATUS_CHARGING: BatteryStatus = "充电状态"; break; case BatteryManager.BATTERY_STATUS_DISCHARGING: BatteryStatus = "放电状态"; break; case BatteryManager.BATTERY_STATUS_NOT_CHARGING: BatteryStatus = "未充电"; break; case BatteryManager.BATTERY_STATUS_FULL: BatteryStatus = "充满电"; break; case BatteryManager.BATTERY_STATUS_UNKNOWN: BatteryStatus = "未知道状态"; break; } switch (intent.getIntExtra("health", BatteryManager.BATTERY_HEALTH_UNKNOWN)) { case BatteryManager.BATTERY_HEALTH_UNKNOWN: BatteryTemp = "未知错误"; break; case BatteryManager.BATTERY_HEALTH_GOOD: BatteryTemp = "状态良好"; break; case BatteryManager.BATTERY_HEALTH_DEAD: BatteryTemp = "电池没有电"; break; case BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE: BatteryTemp = "电池电压过高"; break; case BatteryManager.BATTERY_HEALTH_OVERHEAT: BatteryTemp = "电池过热"; break; } TV.setText("目前电量为" + BatteryN + "% --- " + BatteryStatus + "\n" + "电压为" + BatteryV + "mV --- " + BatteryTemp + "\n" + "温度为" + (BatteryT*0.1) + "℃"); } } }; }
xml代码:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id = "@+id/TV" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
相关文章推荐
- Android如何得到电量、温度、电压
- Android如何得到电量、温度、电压
- Android如何得到电量、温度、电压
- android电源信息查看(电量、温度、电压)实例代码
- Android 编程下 WebView 加载一个网页如何得到网页的 Cookie 值
- Android基础知识4-如何在初始化的时候得到控件的宽和高
- Android 如何在Activity中启动另一应用程序的方法,无需得到类名
- android如何得到控件大小
- 如何反编译android的apk文件得到资源文件
- Android : 如何得到Activities栈顶的Activity名称
- 【如何在不同Android设备中得到有效的AudioRecord实例】
- Android 如何通过menu id来得到menu item 控件
- Android : 如何得到Activities栈顶的Activity名称
- Android Cursor的问题 如何查询得到的内容很多,如何取其中的特定的一个
- 关于如何得到Android程序原始安装路径的贴
- 关于如何得到Android程序原始安装路径的贴
- android app 中如何监测系统电量情况
- 如何反编译android的apk文件得到资源文件
- Android 如何在Activity中启动另一应用程序的方法,无需得到类名
- 如何在android环境下进行ttf解析,通过获取文件头信息得到字体名称!