Android获取手机电池电量用法实例
程序员文章站
2023-10-19 10:44:53
本文实例讲述了android获取手机电池电量用法。分享给大家供大家参考。具体如下:
原理概述:
手机电池电量的获取在应用程序的开发中也很常用,android系统中手机电...
本文实例讲述了android获取手机电池电量用法。分享给大家供大家参考。具体如下:
原理概述:
手机电池电量的获取在应用程序的开发中也很常用,android系统中手机电池电量发生变化的消息是通过intent广播来实现的,常用的intent的action有 intent.action_battery_changed(电池电量发生改变时)、intent.action_battery_low(电池电量达到下限时)、和intent.action_battery_okay(电池电量从低恢复到高时)。
当需要在程序中获取电池电量的信息时,需要为应用程序注册broadcastreceiver组件,当特定的action事件发生时,系统将会发出相应的广播,应用程序就可以通过broadcastreceiver来接受广播,并进行相应的处理。
main.xml布局文件:
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <togglebutton android:id="@+id/tb" android:layout_width="fill_parent" android:layout_height="wrap_content" android:texton="停止获取电量信息" android:textoff="获取电量信息" /> <textview android:id="@+id/tv" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </linearlayout>
batteryactivity类:
package com.ljq.activity; 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.compoundbutton; import android.widget.textview; import android.widget.togglebutton; import android.widget.compoundbutton.oncheckedchangelistener; public class batteryactivity extends activity { private togglebutton tb=null; private textview tv=null; private batteryreceiver receiver=null; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); receiver=new batteryreceiver(); tv=(textview)findviewbyid(r.id.tv); tb=(togglebutton)findviewbyid(r.id.tb); tb.setoncheckedchangelistener(new oncheckedchangelistener(){ public void oncheckedchanged(compoundbutton compoundbutton, boolean ischecked) { //获取电池电量 if(ischecked){ intentfilter filter=new intentfilter(intent.action_battery_changed); registerreceiver(receiver, filter);//注册broadcastreceiver }else { //停止获取电池电量 unregisterreceiver(receiver); tv.settext(null); } } }); } private class batteryreceiver extends broadcastreceiver{ @override public void onreceive(context context, intent intent) { int current=intent.getextras().getint("level");//获得当前电量 int total=intent.getextras().getint("scale");//获得总电量 int percent=current*100/total; tv.settext("现在的电量是"+percent+"%。"); } } }
运行结果:
希望本文所述对大家的android程序设计有所帮助。
上一篇: 怎么做可以让乌鱼汤营养价值高
下一篇: 看起来像柠檬的水果是什么呢