`

获取手机电量

阅读更多
package cn.com;

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>
分享到:
评论

相关推荐

    android获取手机电量

    ### Android 获取手机电量知识点详解 在Android开发过程中,获取设备电量是常见的需求之一,尤其是在开发与电池管理相关的应用时尤为重要。下面将详细讲解如何在Android应用程序中实现这一功能。 #### 一、理解...

    实验十一 通过系统广播获取手机电量的变化

    实验完成后,提交的作业文档“作业完成版.doc”和实验说明文档“实验十一 通过系统广播获取手机电量的变化.doc”将包含详细的步骤、代码示例和可能遇到的问题及解决方案。通过这个实验,开发者不仅掌握了...

    unity获取手机电量、gps、网络连接类型

    本文件直接为c#文件,内有详细注释,获取手机电量、gps、网络连接状态等,每个都有具体的解释,其中获取电量在华为还有些很偏门的手机上无法使用,其它功能正常。如有疑问,欢迎提出,有问必答

    【Android】获取电池电量

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

    获取 ios 系统网络状况、电量

    在iOS开发中,获取系统网络状况和电量是常见的需求,这对于优化用户体验和提供更好的服务至关重要。下面我们将详细探讨如何在iOS应用中实现这些功能,并基于提供的资源进行分析。 首先,让我们来了解一下`...

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

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

    获取mac电池电量

    在Mac OS系统中,开发人员可以利用Cocoa框架与Objective-C(OC)的混合使用来获取电池电量信息。Cocoa是Apple为Mac OS X提供的一种强大的应用程序开发框架,它包括了Objective-C作为主要的编程语言,同时支持C、C++...

    在IOS项目中获取手机设备的精确电量

    在iOS项目中,准确获取设备电量对于优化用户体验和实现某些特定功能至关重要。系统提供的API虽然可以提供基础的电池状态信息,但可能不够精确。本文将深入探讨如何通过自定义方法来实现更精确的电量获取。 首先,...

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

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

    接收系统广播实现查看电池电量

    在Android系统中,开发者可以通过监听系统广播来获取设备的各种状态信息,其中之一就是电池电量。"接收系统广播实现查看电池电量"这一技术点涉及到Android的Intent机制、BroadcastReceiver(广播接收器)以及电池...

    android取得电量

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

    Android 获取手机当前电量.rar

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

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

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

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

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

    android手机电量监控

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

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

    在本教程中,我们将探讨如何利用广播接收器来获取手机的实时电量信息。这个过程涉及到对Android系统的理解,尤其是对电源管理相关的API的使用。 首先,我们需要了解Android系统是如何处理电量信息的。Android提供了...

    Unity 获取设备网络状态,电量,系统权限,时间

    /***  *   * Title: MXFramework ...获取设备电量  * 3.获取网络状态  * 4.获取设备权限  * Date: 2020  * Version: v4.0版本  * Modify Recoder:   *  */ using System; using UnityEngine; namespac

    android 获取电池电量程序

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

    自定义画手机电量

    本教程将深入探讨如何根据提供的"自定义画手机电量"的demo,实现一个自定义的电量显示视图。这个demo适用于那些想要在自己的应用中集成电量显示功能的开发者,通过简单修改即可快速应用于项目中。 首先,我们需要...

    android 手机电量 测试

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

Global site tag (gtag.js) - Google Analytics