在android中,要获得手机的电量的话,可以通过intent广播去实现,监听ACTION_BATTERY_CHANGED,例子如下
java 代码:
[代码]java代码:
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 MainActivity extends Activity {
private TextView batterLevel;
private BatteryLevelReceiver receiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
batterLevel = (TextView) this.findViewById(R.id.batteryLevel);
}
@Override
protected void onStart() {
receiver = new BatteryLevelReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(receiver, filter);
super.onStart();
}
@Override
protected void onDestroy() {
unregisterReceiver(receiver);
super.onDestroy();
}
private class BatteryLevelReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
//获取当前电量
//BatteryManager.EXTRA_LEVEL 也可写作 : "level"
//BatteryManager.EXTRA_SCALE 也可写作: "scale"
int rawLevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
//获取总电量
int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
int level = -1;
if(rawLevel >= 0 && scale > 0){
level = (rawLevel * 100) / scale;
}
batterLevel.setText("Battery Level Remaining : "+ level + "%");
}
}
}XmL文件我就不贴出来了
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦