`

android获取手机电量

阅读更多
import android.app.Activity;
import android.app.Dialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;

public class BatteryInfo extends Activity
{
  /* 变量声明 */
  private int intLevel;
  private int intScale;
  private Button mButton01;

  /* 创建BroadcastReceiver */
  private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver()
  {
    public void onReceive(Context context, Intent intent)
    {
      String action = intent.getAction();
      /*
       * 如果捕捉到的action是ACTION_BATTERY_CHANGED, 就运行onBatteryInfoReceiver()
       */
      if (Intent.ACTION_BATTERY_CHANGED.equals(action))
      {
        intLevel = intent.getIntExtra("level", 0);
        intScale = intent.getIntExtra("scale", 100);
        Log.i("", "intLevel = " + intLevel);
        Log.i("", "intScale = " + intScale);
        onBatteryInfoReceiver(intLevel, intScale);
      }
    }
  };

  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mButton01 = (Button) findViewById(R.id.myButton1);
    mButton01.setOnClickListener(new Button.OnClickListener()
    {
      public void onClick(View v)
      {

        // 注册一个系统 BroadcastReceiver,作为访问电池计量之用
        // 這個不能直接在AndroidManifest.xml中註冊
        registerReceiver(mBatInfoReceiver, new IntentFilter(
            Intent.ACTION_BATTERY_CHANGED));
      }
    });
  }

  /* 捕捉到ACTION_BATTERY_CHANGED时要运行的method */
  public void onBatteryInfoReceiver(int intLevel, int intScale)
  {
    /* create 跳出的对话窗口 */
    final Dialog d = new Dialog(BatteryInfo.this);
    d.setTitle(R.string.str_dialog_title);
    d.setContentView(R.layout.mydialog);

    /* 创建一个背景模糊的Window,且将对话窗口放在前景 */
    Window window = d.getWindow();
    window.setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
        WindowManager.LayoutParams.FLAG_BLUR_BEHIND);

    /* 将取得的电池计量显示于Dialog中 */
    TextView mTextView02 = (TextView) d.findViewById(R.id.myTextView2);
    mTextView02.setText(getResources()
        .getText(R.string.str_dialog_body)
        + String.valueOf(intLevel * 100 / intScale) + "%");

    /* 设置返回主画面的按钮 */
    Button mButton02 = (Button) d.findViewById(R.id.myButton2);
    mButton02.setOnClickListener(new Button.OnClickListener()
    {
      public void onClick(View v)
      {
        /* 反注册Receiver,并关闭对话窗口 */
        unregisterReceiver(mBatInfoReceiver);
        d.dismiss();
      }
    });
    d.show();
  }
}

代码里还用到了自定义的Dialog布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:background="@drawable/white" android:orientation="vertical"
	android:layout_width="fill_parent" android:layout_height="fill_parent">
	<TextView android:id="@+id/myTextView2" android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:textColor="@drawable/blue"
		android:textSize="16sp" android:gravity="center" android:padding="10px">
	</TextView>
	<Button android:id="@+id/myButton2" android:layout_width="wrap_content"
		android:layout_height="wrap_content" android:text="@string/str_button2">
	</Button>
</LinearLayout>


http://edison-cool911.iteye.com/blog/737781
分享到:
评论

相关推荐

    【Android】获取电池电量

    Android 获取电池电量是 Android 应用程序开发中一个常见的需求,通过获取电池电量,可以实现在手机电池电量低时发出警告,或者在电池电量不足时提醒用户充电。Android 系统中提供了多种方式来获取电池电量,本文将...

    Android获取手机电池电量用法实例

    Android系统提供了多种方式来获取手机电池的电量信息,这些功能主要通过BroadcastReceiver监听系统的Intent ACTION_BATTERY_CHANGED 来实现。BroadcastReceiver 是Android中一个关键组件,它可以监听系统或应用程序...

    Android例子源码根据CPU使用时间计算程序电量使用.zip

    这个"Android例子源码根据CPU使用时间计算程序电量使用"的压缩包提供了一个实例,演示了如何计算手机中各个应用的耗电信息。下面我们将详细探讨这个知识点。 1. **Android电量管理API** Android系统提供了...

    Android 获取手机当前电量.rar

    Android 获取手机当前电量, int level;定义的是当前电池电量,int scale;定义的是手机总电量。注册访问电池剩余量的系统BroadcastReceiver,当前手机电量为:" level*100/scale "%,这个计算方法相信大家都会吧。

    android手机电量监控

    本文将深入探讨Android手机电量监控的相关知识点,包括其原理、实现方式以及如何进行电量测试。 首先,Android系统自身提供了一套电量统计框架,通过Battery Historian、Battery Stats API等工具,开发者和测试...

    Android-电池管理-实时获取电池电量,温度...等属性。

    实现一个电池属性实时监听器。这些属性包括温度,电池电量....等等。而且,使用Service,Broadcast,以及Thread的方式来实现。MyBatteryService后台获取Battery属性值,然后,在Activity中进行相关数据的显示。

    android 手机电量 测试

    "手机耗电计算"可能是用于计算或分析手机电量消耗的工具或文档,可以帮助我们更精确地评估应用的电量性能。 通过以上所述的方法和技巧,开发者可以有效地测试和优化Android应用的电量使用,为用户提供更持久的电池...

    android 获取电池电量程序

    在Android平台上,开发一款能够获取电池电量及其他相关信息的程序是一项常见的任务。这涉及到对Android系统的BatteryManager服务的使用,以及理解和解析系统广播接收器BroadcastReceiver的相关知识。下面将详细介绍...

    android手机电量显示源代码

    在Android系统中,手机电量的显示涉及到多个层次的软件交互,包括硬件抽象层(HAL)、系统服务、用户界面等多个组件。下面将详细讲解这个过程,以及如何通过源代码实现电量显示。 1. **电源管理接口(Power HAL)**...

    Android-有没有什么方法能够快速、实时的获取android手机的电量值? - 德问编程社交问答

    Android-有没有什么方法能够快速、实时的获取android手机的电量值? - 德问编程社交问答

    获取android手机的一些信息(手机时间,电量。WiFi信息)

    首先,让我们来看看如何获取手机时间。在Android中,你可以通过`java.util.Calendar`类或`android.icu.util.Calendar`(如果支持多语言和区域设置)来获取当前的时间。此外,`System.currentTimeMillis()`函数也可以...

    Android手机流量电量监控程序

    以下是对这个"Android手机流量电量监控程序"源码的详细分析和相关知识点讲解。 首先,我们要了解Android系统架构,它是基于Linux内核的,允许开发者通过Java语言编写应用程序。在Android中,我们可以利用系统的API...

    Android 之 监控手机电量

    在Android系统中,监控手机电量是一项重要的功能,它可以帮助开发者优化应用性能,了解应用程序对电池的消耗情况,以及为用户提供有关设备电量状态的信息。本文将深入探讨如何在Android平台上实现电量监控,主要涉及...

    android取得电量

    在Android系统中,获取设备的电量信息是开发者常需处理的任务之一,这有助于构建各种实用的应用,如电池管理工具或优化应用。本项目名为"BatteryInfoProject",提供了获取电量的基本实现,允许开发者在此基础上进行...

    APP电量计算

    - **TgetPhoneSignalScanningTime**:获取手机信号扫描的时间。 - **平均浏览功耗**:获取手机信号时的平均功耗。 - **计算公式**:`信号消耗功耗 = TstrengthTimeMs * 平均功耗 + TgetPhoneSignalScanningTime * ...

    Android自定义显示电池电量

    在Android系统中,电池电量的显示通常是系统默认的,但有时候开发者或用户可能希望自定义电池电量的展示方式,以实现独特的UI效果或者更个性化的交互体验。本篇将深入探讨如何在Android应用中实现自定义电池电量的...

    利用广播获取手机 实时电量信息

    总之,通过BroadcastReceiver和ACTION_BATTERY_CHANGED广播,我们可以实现在Android应用中实时获取手机电量信息的功能,同时根据实际需求进行相应的处理,如更新UI、记录数据或提醒用户。但要注意系统级别的电池优化...

Global site tag (gtag.js) - Google Analytics