当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > 获取Android手机的电量信息

获取Android手机的电量信息 时间:2018-09-26      来源:未知

电池的电量是手机用户为关心问题之一,而在Android系统中,专门提供了一个取得电池电量信息的Action——ACTION_BATTERY_CHANGED,在此Action中定义了许多附加信息的名称和作用,如下表

下面通过一个程序来观察如何获取电池电量信息,该程序采用广播的形式取得电池的剩余电量

package com.cjl.android_36_getbatteryinfo;

import android.app.Activity; import android.app.AlertDialog.Builder; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener;

public class MainActivity extends Activity implements OnClickListener {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

findViewById(R.id.button1).setOnClickListener(this);

}

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

// 注册广播接收器,当系统电量改变时或第一次注册时,收到广播,获取电池电量信息

registerReceiver(batteryReceiver, new IntentFilter(

Intent.ACTION_BATTERY_CHANGED));

}

@Override

protected void onDestroy() {

// TODO Auto-generated method stub

super.onDestroy();

unregisterReceiver(batteryReceiver);

}

private BroadcastReceiver batteryReceiver = new BroadcastReceiver(){

@Override

public void onReceive(Context context, Intent intent) {

//取得电池剩余容量

int level = intent.getIntExtra("level", 0);

//取得电池总容量

int scale = intent.getIntExtra("scale", 100);

//创建对话框,显示电池信息

Builder builder = new Builder(MainActivity.this);

builder.setTitle("电池电量");

builder.setMessage("电量:" + (level*100)/scale + "%");

builder.setNeutralButton("确定", null);

builder.create();

builder.show();

}

};

}

程序的运行结果,如下图所示

上一篇:用户级线程和内核级线程

下一篇:Find命令总结

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部