引用:http://onetiger.net/?p=1057

在android中,要获得手机的电量的话,可以通过intent广播去实现,监听
action_battery_changed,例子如下:

package com.liao;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.widget.TextView;

public class BatteryLevelActivity extends Activity {
/** Called when the activity is first created. */
private TextView batterLevel;

@Override
/**
* Called when the current activity is first created.
*/
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
batterLevel = (TextView) this.findViewById(R.id.batteryLevel);
batteryLevel();
}

private void batteryLevel() {
BroadcastReceiver batteryLevelReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
context.unregisterReceiver(this);
int rawlevel = intent.getIntExtra("level", -1);//获得当前电量
int scale = intent.getIntExtra("scale", -1);
//获得总电量
int level = -1;
if (rawlevel >= 0 && scale > 0) {
level = (rawlevel * 100) / scale;
}
batterLevel.setText("Battery Level Remaining: " + level + "%");
}
};
IntentFilter batteryLevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(batteryLevelReceiver, batteryLevelFilter);
}

}

如果是2。0后的SDK,也可以这样:
public void onReceive(Context context, Intent intent) {
context.unregisterReceiver(this);
int rawlevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);

就是修改一下类而已

更多相关文章

  1. android获得手机的电量
  2. android:动态创建多个按钮 并给每个按键添加监听事件
  3. Android实现局部图片滑动指引效果
  4. android获得手机的电量
  5. Android获得当前系统时间、星期几、周几
  6. Android监听手机网络变化
  7. android获得手机的电量
  8. android的文件操作
  9. android获得手机的电量

随机推荐

  1. 详细介绍xml的使用方法总结
  2. XML基础讲解之结构与语法
  3. 详细介绍Android 解析XML文件和生成XML文
  4. XML文件数减少的示例代码分享
  5. XML入门的常见问题之二
  6. 利用XML FOR PATH合并分组信息的示例代码
  7. XML入门的常见问题之一
  8. 详细介绍XML阅读器的示例代码
  9. XML新手教程:了解XML
  10. XML实战秘籍第五卷:结构树图