现在的位置: 首页 > 综合 > 正文

取得电池电量

2018年03月31日 ⁄ 综合 ⁄ 共 2423字 ⁄ 字号 评论关闭

 

 

在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"

  android:gravity="center_horizontal">

  <Button

     android:id="@+id/but"

     android:layout_width="100dp"

     android:layout_height="40dp"

     android:layout_marginTop="8dp"

     android:textColor="#ffffff"

     android:background="#3399ff"

     android:text="取得电池电量" />

</LinearLayout>

 

 

 

 

新建BatteryInfoBroadcastReceiver.java:

 

package com.li.battery;

 

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 BatteryInfoBroadcastReceiver extends BroadcastReceiver {

 

  @Override

  public void onReceive(Context context, Intent intent) {

     if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {

       int level = intent.getIntExtra("level", 0);

       int scale = intent.getIntExtra("scale", 100);

       Dialog dialog = new AlertDialog.Builder(context)

            .setTitle("电池电量")

            .setMessage(

                "电池电量为:" + String.valueOf(level * 100 / scale)

                     + "%")

           .setNegativeButton("关闭",

                new DialogInterface.OnClickListener() {

                   public void onClick(DialogInterface dialog,

                       int which) {

                     // TODO Auto-generated method stub

                    

                   }

                }).create();

       dialog.show();

     }

  }

 

}

 

 

 

 

 

在MyBatteryDemo.java中:

 

package com.li.battery;

 

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 MyBatteryDemo extends Activity {

  private Button but = null ;

  @Override

  public void onCreate(Bundle savedInstanceState) {

     super.onCreate(savedInstanceState);

     super.setContentView(R.layout.main);

     this.but = (Button) super.findViewById(R.id.but) ;

     this.but.setOnClickListener(new OnClickListenerImpl()) ;

  }

  private class OnClickListenerImpl implements OnClickListener {

     public void onClick(View v) {

       BatteryInfoBroadcastReceiver receiver = new BatteryInfoBroadcastReceiver() ;

       IntentFilter filter = new IntentFilter(

            Intent.ACTION_BATTERY_CHANGED) ;

       MyBatteryDemo.this.registerReceiver(receiver, filter) ;

     }

    

  }

 

}

 

抱歉!评论已关闭.