Android手机电量

news/2024/10/31 1:27:41/

转自:http://www.blogjava.net/gaolei-xj/archive/2012/10/09/389262.html

 

原理概述:

手机电池电量的获取在应用程序的开发中也很常用,Android系统中手机电池电量发生变化的消息是通过Intent广播来实现的,常用的Intent的Action有 Intent.ACTION_BATTERY_CHANGED(电池电量发生改变时)、Intent.ACTION_BATTERY_LOW(电池电量达到下限时)、和Intent.ACTION_BATTERY_OKAY(电池电量从低恢复到高时)。

当需要在程序中获取电池电量的信息时,需要为应用程序注册BroadcastReceiver组件,当特定的Action事件发生时,系统将会发出相应的广播,应用程序就可以通过BroadcastReceiver来接受广播,并进行相应的处理。

 

LinearLayout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="取得电池电量" />
</LinearLayout>


MainActivity

package org.gl.demo;
import android.app.Activity;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private Button button = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new BatteryClickListener());
}
private class BatteryClickListener implements OnClickListener {
@Override
public void onClick(View v) {
BatteryBroadcastReceiver receiver = new BatteryBroadcastReceiver();
IntentFilter filter = new IntentFilter(
Intent.ACTION_BATTERY_CHANGED);
MainActivity.this.registerReceiver(receiver, filter);
}
}
}


BatteryBroadcastReceiver

package org.gl.demo;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
public class BatteryBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {
// 获得当前电量
int current = intent.getIntExtra("level", 0);
// 获取总电量
int total = intent.getIntExtra("scale", 0);
Dialog dialog = new AlertDialog.Builder(context)
.setTitle("电池电量")
.setMessage(
"电池电量为:" + String.valueOf(current * 100 / total)
+ "%")
.setNegativeButton("关闭",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
}
}).create();
dialog.show();
}
}
}


 

 


http://www.ppmy.cn/news/396709.html

相关文章

控制手机耗电量

51CTO在对尚邮架构师的访谈中曾经探讨过移动开发是否要重视移动终端软件的耗电问题&#xff0c;答案是显而易见的&#xff01;那么如何才能降低Android应用程序的耗电量呢&#xff1f;今天再一次回顾了一下09年Google IO大会Jeffrey Sharkey的演讲&#xff08;Coding for Life …

手机发热是怎么回事

很多朋友在使用手机时&#xff0c;发现手机会发热&#xff0c;有时发热得觉得烫的拿不住手机&#xff0c;甚至有人因为用手机通话半个小时&#xff0c;紧贴手机的左脸颊烫伤&#xff0c;还会损害电池&#xff0c;但又不知道是什么原因导致的。那么手机发热是怎么回事&#xff1…

Android手机耗电分析

最近在了解超频和耗电的事情&#xff0c; 先来说说CPU频率到底是怎么回事&#xff0c;它有什么效果&#xff0c;它和处理机是如何配合工作的。 CPU的处理机需要一个外部时钟来让自己工作&#xff0c;外部时钟接在处理机的总门上。当收到一个时钟脉冲时&#xff0c;处理机开始作…

手机充电耗费多少电能

鉴于在北京城中村租房,电费1块五一度贵的离谱,研究一下电器耗电情况。 首先我们先来解释几个名词: 毫安: 毫安是电流的计量单位,用字母mA表示。其中安是国际的统一电流单位,用字母A表示。也是现在手机电池电量的计量点位。 Wh: Wh是电量,它是和电压、电流、时间成正比关…

root后充不了电,手机root后充不进电

手机一键root后充不进电 这应该是你的手机root出现问题造成的 你这个应该是直接在手机上进行root的吧 这样是非常容易出现问题的 针对这样的情况我建议你最好马上下载个应用宝到电脑上 通过电脑给你的手机进行一次全面的root 如果可以顺利进行的话就能帮助你覆盖原来的ro…

浏览器类应用后台耗电解析 教你三招让手机更省电!

手机每天充电&#xff0c;电量还是掉的飞快&#xff0c; 这样的经历你有过吗&#xff1f; 作为手机上网的重要入口&#xff0c; 浏览器类应用的耗电量日益受到关注。 哪些浏览器应用耗电少&#xff0c;体验好呢&#xff1f; 让我们来一窥究竟…… 测试背景说明 数据来源…

三星手机没有电了,自动关机,充不进电的解决方法。

使用的手机型号&#xff1a; 三星A700 问题&#xff1a; 手机是一体机&#xff0c;手机电池不能拆下来的。电用完自动关机了&#xff0c;然后充电时&#xff0c;手机没有像以前&#xff0c;充电提示充电页面和振动&#xff0c;就按了开机键&#xff0c;现在既充不进电&#xff…

充一次电使用一年的手机_冷知识:手机充一次电,需要多少电费?

电&#xff0c;是现代社会最为重要的资源。 去年就有印度网友在网上提问&#xff1a;印度还有两亿人用不上电&#xff0c;中国呢&#xff1f; 现在&#xff0c;中国的电力供应&#xff0c;是全球最普及、最稳定的。目前&#xff0c;中国大约还有20万人用不上电&#xff0c;基本…