在android中,要获得手机的电量的话,可以通过intent广播去实现,监听
action_battery_changed,例子如下:
[code="java"]
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);
}
}
[/code]
如果是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);
就是修改一下类而已
android获得手机的电量
原创
©著作权归作者所有:来自51CTO博客作者mb5c80f4c73b73a的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Android 获得手机信息工具类
/** * 获得手机信息工具类 * @描述 TODO * @项目名称 App_News * @包名 com.2 * @versio
android 手机 ide 中国电信 中国移动 -
android 获得手机号相关
最近做一个项目 需要获取到手机的
运营商 中国移动 数据 -
获得手机根root权限
Download:http://developer.mg-28-july-2009.zip.htmlInstall HTC Sync ...
HTC Windows Phone Android WordPress Windows -
获得手机屏幕相关参数
获得手机屏幕相关参数
手机 屏幕参数