讲师博文
获取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命令总结

400-611-6270

Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5京公海网安备11010802025203号