返回顶部
首页 > 资讯 > 移动开发 >Android查看电池电量的方法(基于BroadcastReceiver)
  • 903
分享到

Android查看电池电量的方法(基于BroadcastReceiver)

电池方法Android 2022-06-06 09:06:25 903人浏览 泡泡鱼
摘要

本文实例讲述了Android查看电池电量的方法。分享给大家供大家参考,具体如下: 程序如下: import android.app.Activity; import andr

本文实例讲述了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.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;
public class A02Activity extends Activity {
 private int level;
 private int scale;
 private Button b01;
 private BroadcastReceiver mBatInfoReceiver=new BroadcastReceiver(){
 @Override
 public void onReceive(Context context, Intent intent) {
  // TODO Auto-generated method stub
  String action=intent.getAction();
//如果捕捉到的是ACTION_BATTERY_CHANGED就运行onBatteryInfoReceiver();将电量显示于新窗口中
  if(Intent.ACTION_BATTERY_CHANGED.equals(action)){
  level=intent.getIntExtra("level", 0);
  scale=intent.getIntExtra("scale", 100);
  onBatteryInfoReceiver(level,scale);
  }
 }
 };
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    b01=(Button)findViewById(R.id.button01);
    b01.setBackgroundColor(Color.GREEN);
    b01.setText("查看电量");
    b01.setOnClickListener(new OnClickListener(){
  @Override
  public void onClick(View v) {
  // TODO Auto-generated method stub
  reGISterReceiver(mBatInfoReceiver,new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
  }
    });
  }
  public void onBatteryInfoReceiver(int intLevel,int intScale){
   final Dialog d=new Dialog(A02Activity.this);
   d.setTitle(R.string.str_title);
   d.setContentView(R.layout.dialog);
   Window window=d.getWindow();
   window.setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
   TextView mTextView02=(TextView)d.findViewById(R.id.myTextView02);
   //取得电池电量显示于Dialog中
   mTextView02.setText(getResources().getText(R.string.str_body)+String.valueOf(intLevel*100/intScale)+"%");
   Button b02=(Button)d.findViewById(R.id.button02);
   b02.setBackgroundColor(Color.RED);
   b02.setText("返回");
   b02.setTextColor(Color.YELLOW);
   b02.setOnClickListener(new OnClickListener(){
  @Override
  public void onClick(View v) {
  // 反注册Receiver并关闭窗口
  unregisterReceiver(mBatInfoReceiver);
  d.dismiss();
  }
   });
   d.show();
  }
}

在Android中,Android.intent.BATTERY_CHANGED是系统的Broadcast Action Message,当电池处于充电状态或电池电量有变化时,系统便会广播此Action;程序中的BroadcastReceiver在注册时,由于设置了Intent Filter过滤此Action信息,因此当BroadcastReceiver一被注册,就能马上捕捉这个Action,进而取得电池电量。
主程序中的onReceiver()是当BroadcastReceiver被触发时会运行的方法,写法如下:


public void onReceiver(Context context,Intent intent){
   String action=intent.getAction();
   if(Intent.ACTION_BATTERY_CHANGED.equals(action)){
      
   }
}

添加这一判断Intent.ACTION_BATTERY_CHANGED.equals(action)是为了确保BroadcastReceiver只会被Intent.ACTION_BATTERY_CHANGED这个触发。如果没有这个判断程序也是可以运行的。

Android api中说明,要注册含有Intent.ACTION_BATTERY_CHANGED的Receiver,只能在程序中以Context.registerReceiver()方式来注册,不能直接在AndroidManifest.xml中注册。

本例中使用了让Dialog在弹出时,背景的窗口呈现模糊的状态:


final Dialog d=new Dialog(A02Activity.this);
d.setTitle(R.string.str_title);
d.setContentView(R.layout.dialog);
Window window=d.getWindow();
window.setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParams.FLAG_BLUR_BEHIND);

其中WindowManager.LayoutParams.FLAG_BLUR_BEHIND是告诉目前的Window不管是什么对象显示于前端,都会出现在Window的最上层,让背景Window呈现模糊状态。也可以在其他程序中使用这个效果。

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》及《Android开发入门与进阶教程

希望本文所述对大家Android程序设计有所帮助。

您可能感兴趣的文章:深入Android中BroadcastReceiver的两种注册方式(静态和动态)详解Android中BroadcastReceiver(异步接收广播Intent)的使用Android提高之BroadcastReceiver实例详解Android编程四大组件之BroadcastReceiver(广播接收者)用法实例Android BroadcastReceiver广播注册方式总结Android开发之BroadcastReceiver用法实例分析详解Android中BroadCastReceiver组件Android采取BroadcastReceiver方式自动获取验证码Android BroadcastReceiver常见监听整理Android BroadcastReceiver实现网络状态实时监听


--结束END--

本文标题: Android查看电池电量的方法(基于BroadcastReceiver)

本文链接: https://lsjlt.com/news/25747.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android查看电池电量的方法(基于BroadcastReceiver)
    本文实例讲述了Android查看电池电量的方法。分享给大家供大家参考,具体如下: 程序如下: import android.app.Activity; import andr...
    99+
    2022-06-06
    电池 方法 Android
  • Android编程之电池电量信息更新的方法(基于BatteryService实现)
    本文实例讲述了Android编程之电池电量信息更新的方法。分享给大家供大家参考,具体如下: 电池的信息,电压,温度,充电状态等等,都是由BatteryService来提供的。B...
    99+
    2022-06-06
    程之 电池 更新 方法 Android
  • Android获取手机电池电量用法实例
    本文实例讲述了Android获取手机电池电量用法。分享给大家供大家参考。具体如下: 原理概述: 手机电池电量的获取在应用程序的开发中也很常用,Android系统中手机电池电量发...
    99+
    2022-06-06
    机电 电池 手机 Android
  • Android电池电量监听的示例代码
    监听电池状态只需要接收Intent.ACTION_BATTERY_CHANGED的广播即可,当电池状态发生变化时会发出广播。1.运行状态如下图:充电中的状态 未充电时的状态 实现代码如下,各个状态通过名字就很容易知道意思...
    99+
    2023-05-30
    android 电量 监听
  • c# Windows CE读取电池电量的实现方法
    本篇内容主要讲解“c# Windows CE读取电池电量的实现方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“c# Windows CE读取电池电量的实现方法”吧!c# Windows CE读...
    99+
    2023-06-17
  • Android中检查、监听电量和充电状态的方法
    当你在更改后台更新频率来减少这些更新对电池寿命的影响时,检查当前电量和充电状态是一个好的开始。 电池寿命通过剩余电量和充电状态来影响应用更新的执行。当用交流电充电时,执行更新操...
    99+
    2022-06-06
    监听 方法 Android
  • Android实现侦听电池状态显示、电量及充电动态显示的方法
    本文实例讲述了Android实现侦听电池状态显示、电量及充电动态显示的方法,是Android应用程序开发中非常常用的重要功能。分享给大家供大家参考之用。具体方法如下: 使用an...
    99+
    2022-06-06
    电池 方法 动态 Android
  • android电源信息查看(电量、温度、电压)实例代码
    本文实例讲述了android电源信息查看方法。分享给大家供大家参考。具体如下: 1. PowerTestActivity: import android.app.Activi...
    99+
    2022-06-06
    Android
  • 基于C++OpenCV制作电子相册查看器
    目录前言一、图片读取二、图片展示三、键盘控制四、效果显示五、源码总结前言 本文将使用OpenCV C++ 制作电子相册查看器。类似于win10系统的“照片”功...
    99+
    2024-04-02
  • 更换windows电脑主板电池的方法
    本篇文章给大家分享的是有关更换windows电脑主板电池的方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。电脑主板电池没电会导致什么问题?系统日期无法更新,每次开机都是显示出...
    99+
    2023-06-05
  • 查看电脑是否有mysql的方法
    小编给大家分享一下查看电脑是否有mysql的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!查看电脑是否有mysql的方法:首先打开cmd命令窗口,输入命令“services.msc”,回车...
    99+
    2024-04-02
  • 查看win10电脑配置和系统基本信息的方法
    当我们使用电脑遇到一些问题时,可能需要知道电脑配置和系统信息才能解决。win10系统如何查看系统信息和电脑的配置呢,请阅读本篇经验。 系统设置查看 1、打开【开始菜单】 2、进入【系统设置】 3、选择”...
    99+
    2023-06-11
    win10 电脑配置 信息 系统 方法
  • 阿里云数据库用电量的查看方法及技巧
    阿里云数据库是阿里云推出的一款云计算数据库服务,能够提供高效、稳定、安全的数据库存储服务。了解阿里云数据库的用电量情况对于企业来说非常重要,可以帮助企业更好地管理和控制成本。本文将详细介绍如何查看阿里云数据库的用电量。 一、查看阿里云数据库...
    99+
    2023-11-06
    用电量 阿里 数据库
  • 基于等效电路模型(RC)的锂离子电池参数在线辨识
           在电池管理系统(BMS)中,等效电路模型(ECM)是模拟电池动力学的常用方法。然而,模型的简单性和准确性之间总是存在着矛盾。简单的模型通常无法反映电池的所有动态效应,这可能会给参数识别带来误差。然而,一个复杂的模型总是有太多的...
    99+
    2023-09-22
    matlab python 人工智能 自然语言处理
  • 从Linux终端查看笔记本电池状态和等级的方法有哪些
    这篇文章主要为大家展示了“从Linux终端查看笔记本电池状态和等级的方法有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“从Linux终端查看笔记本电池状态和等级的方法有哪些”这篇文章吧。几种...
    99+
    2023-06-16
  • Win10查看电脑配置的方法是什么
    这篇文章主要介绍了Win10查看电脑配置的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Win10查看电脑配置的方法是什么文章都会有所收获,下面我们一起来看看吧。查看方法:鼠标右键单击【此电脑】,选择...
    99+
    2023-06-27
  • win7查看电脑配置的方法有哪些
    在Windows 7中,有多种方法可以查看电脑的配置,包括:1. 系统信息工具:- 在开始菜单中,点击“所有程序”,然后找到“附件”...
    99+
    2023-08-22
    win7
  • 电脑ip地址查看方法是什么
    本文小编为大家详细介绍“电脑ip地址查看方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“电脑ip地址查看方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。电脑ip地址查看方法介绍:方法一: 首先打...
    99+
    2023-07-01
  • win7查看电脑配置的四种简单方法
    1. 使用系统信息工具:在开始菜单中搜索"系统信息",打开系统信息窗口,在窗口左侧的导航栏中选择"系统汇总",可以查看到电脑的基本配...
    99+
    2023-08-21
    win7
  • Android监听来电和去电的实现方法
    本文实例讲述了Android监听来电和去电的实现方法。分享给大家供大家参考,具体如下: 要监听android打电话和接电话,只需下面2步骤 第一步,写一个Receiver继承自...
    99+
    2022-06-06
    方法 Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作