为了账号安全,请及时绑定邮箱和手机立即绑定

Android获取手机电量

标签:
Android

在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文件我就不贴出来了 


原文链接:http://www.apkbus.com/blog-809938-60715.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消