使用广播查看电量变化

public class BatteryChangedReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

//当前电量

int currLevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);

//总电量

int total = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 1);

int percent = currLevel * 100 / total;

}

}

在清单文件配置以下XMl:

<receiver android:name=".BatteryChangedReceiver">

<intent-filter>

<action android:name="android.intent.action.BATTERY_CHANGED"/>

<category android:name="android.intent.category.DEFAULT" />

</intent-filter>

</receiver>

立即获取电量的,而不是等电量变化的广播,比如当阅读软件打开时立即显示出电池电量。我们可以按以下方式获取:

Intent batteryIntent = getApplicationContext().registerReceiver(null,

new IntentFilter(Intent.ACTION_BATTERY_CHANGED));

int currLevel = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);

int total = batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE, 1);

int percent = currLevel * 100 / total;

时间: 2024-11-08 22:23:33

使用广播查看电量变化的相关文章

手机影音第七天 视频的播放下一个视频功能实现,视频进度、电量变化的实现

先看下效果图: 在这里,视频进度条会根据视频播放变化,下方的按钮中,播放下一个,上一个都已实现. 代码已经托管到码云上,想下载看的小伙伴可以从下方地址中获取 https://git.oschina.net/joy_yuan/MobilePlayer 1.在这张图上,自定义的显示电量的那一列已经被系统自带的状态栏遮盖,下面就说一下实现方法: 系统电量变化时,系统会发送一个广播,所有对这个广播感兴趣的activity都可以注册广播来接收这个广播.在这里接收系统电量变化,屏幕锁屏.开屏的广播,只能使用

Broadcat监视电量变化

/** *检测手机电量变化 * 使用registerReceiver(receiver, intentFilter);来注册广播,而不是在清单文件中注册<receiver><receiver> * 需要添加权限: * <uses-permission android:name="android.permission.BATTERY_STATS"/> * 在onResume()中注册广播 * registerReceiver(receiver, int

linux下用tail命令查看动态变化的文件内容(文件尾部)

背景: 今天在静默安装oracle, 在命令行里面下达了命令 ./runInstaller -silent -responseFile /oracle/database/response/db_install.rsp 结果没有什么安装进度,只是提示可以从/u01/app/oraInventory/logs/installActions.....log里面可以查到结果--->看到这里我就想到了在linux里面是不是有一个命令可以查看一个动态变化的文件?(这个日志文件肯定在变化啊) 没错,有,就是

BroadcastReceiver接收电量变化的广播-------在代码中动态创建接受者

本例为动态创建广播接收者即不是在AndroidManifest.xml文件中定义的广播接收着 代码: 1 package com.qf.broadcastreceiver01; 2 3 import android.app.Activity; 4 import android.app.AlertDialog; 5 import android.content.BroadcastReceiver; 6 import android.content.Context; 7 import android

Android 面试题汇总

面试题基础储备 1.Activity相关 a.Activity的特点 1.可见  2.可交互 他之所以可交互,是因为他同时实现了Window.Callback和KeyEvent.Callback, 可以处理与窗体用户交互的事件和按键事件.这两个特点,是他和service最大的区别.一个Activity在创建与销毁的过程中,会经历一些生命周期. b.Activity的生命周期 结论1.这个界面只要看不到了,它就一定执行了onStop方法 结论2.只要这个界面显示出来了,它就一定执行了onResum

Android SERVICE后台服务进程的守护

Service组件在android开发中经常遇到,其经常作为后台服务,需要始终保持运行,负责处理一些必要(见不得人)的任务.而一些安全软件,如360等,会有结束进程的功能,如果不做Service的保持,就会被其杀掉. 在早些时候,我们可以通过在 1. service中重写onStartCommand方法,这个方法有三个返回值, START_STICKY是service被kill掉后自动 public int onStartCommand(Intent intent, int flags, int

Android中保持Service的存活

这几天一直在准备考试,总算有个半天时间可以休息下,写写博客. 如何让Service keep alive是一个很常见的问题. 在APP开发过程中,需要Service持续提供服务的应用场景太多了,比如闹钟需要作出及时提醒,那么比如得有一个Service不断去比较当前时间和设置时间:QQ要能流畅的聊天,必然也需要及时接收消息等. 但是Android并没有保证Service有这样功能,毕竟一个系统面对的是用户,必然以对用户友好为先. 关于如何让Service keep alive,我在上篇博客给出的解

Android四大基本组件(1)之Activity与BroadcastReceive广播接收器

Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一.Activity (1)应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应. (2)Activity之间通过Intent进行通信.在Intent 的描述结构中,有两个最重要的部分:动作和动作对应的数据. (3)典型的动作类型有:M AIN(activity的门户).VIE

Android08_广播接受者_服务

1 广播接受者  广播的发送是通过intent开启的 需要被接收的广播:电量不足,sd卡被移除,电话移除,短信到来等等 1.1 监视sd卡的状态 需求:监视sd卡的状态,并提示用户受到影响的功能. 步骤:①买个收音机 创建一个类,继承BroadcastReceiver类(可以看做当一个类继承了该类,如果sd卡发生状态改变会接收到一条信息?) ②装上电池 在清单文件中配置 <receiver>标签(接受者) 配置属性name=”全包名”一定要配置到对应的类,不然会报错 ③调到对应频道 在rece