android获得手机的电量
16lz
2021-01-23
在android中,要获得手机的电量的话,可以通过intent广播去实现,监听
action_battery_changed,例子如下:
如果是2。0后的SDK,也可以这样:
public void onReceive(Context context, Intent intent) {
context.unregisterReceiver(this);
int rawlevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
就是修改一下类而已
action_battery_changed,例子如下:
package com.liao;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.TextView;public class BatteryLevelActivity extends Activity { /** Called when the activity is first created. */ private TextView batterLevel; @Override /** * Called when the current activity is first created. */ public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); batterLevel = (TextView) this.findViewById(R.id.batteryLevel); batteryLevel(); } private void batteryLevel() { BroadcastReceiver batteryLevelReceiver = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { context.unregisterReceiver(this); int rawlevel = intent.getIntExtra("level", -1);//获得当前电量 int scale = intent.getIntExtra("scale", -1);//获得总电量 int level = -1; if (rawlevel >= 0 && scale > 0) { level = (rawlevel * 100) / scale; } batterLevel.setText("Battery Level Remaining: " + level + "%"); } }; IntentFilter batteryLevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); registerReceiver(batteryLevelReceiver, batteryLevelFilter); } }
如果是2。0后的SDK,也可以这样:
public void onReceive(Context context, Intent intent) {
context.unregisterReceiver(this);
int rawlevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
就是修改一下类而已
更多相关文章
- android的单选框例子
- Android跨进程通信之小例子(一)
- android tts 发声的例子
- Android 驱动和系统开发. 一个简单的例子
- android 手势识别例子
- Android系统信息(内存、cpu、sd卡、电量、版本)获取
- Android Menu小例子
- 多线程例子 android camera capture