android获得手机的电量
生活随笔
收集整理的這篇文章主要介紹了
android获得手机的电量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在android中,要獲得手機的電量的話,可以通過intent廣播去實現,監聽
action_battery_changed,例子如下:
[code="java"]
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);
? ? }
? ??
}
[/code]
? 如果是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,例子如下:
[code="java"]
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);
? ? }
? ??
}
[/code]
? 如果是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获得手机的电量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学物生地对以后学计算机有影响吗,物生地能
- 下一篇: 支付宝小程序订单倒计时分秒