效果图:

activity代码:

package cn.com.chenzheng_java; 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.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.view.WindowManager; import android.view.View.OnClickListener; import android.view.ViewGroup.LayoutParams; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; /*** * @description 查看手机电池电量,这里要注意监听Intent.ACTION_BATTERY_CHANGED的广播接收者,只能 * 在程序中显示的注册,不能再androiManifest.xml中进行静态的注册 * @author chenzheng_java * @since 2011/03/16 * */ public class BatteryActivity extends Activity implements OnClickListener{ // 当系统处于充电状态或者电量发生改变时会广播该action private static final String ACTION_NAME = Intent.ACTION_BATTERY_CHANGED; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.battery); Button button = (Button) findViewById(R.id.button1); // 注意哦,我们这里的activity实现了View.OnClickListener接口 button.setOnClickListener(this); } // 声明广播接收者 BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String actionName = intent.getAction(); if(actionName.equals(ACTION_NAME)){ int level = intent.getIntExtra("level", 0); int scale = intent.getIntExtra("scale", 100); // Toast.makeText(BatteryActivity.this, "level="+level+" scale="+scale, Toast.LENGTH_LONG).show(); final Dialog dialog = new Dialog(BatteryActivity.this); dialog.setTitle("电量显示"); // 加载xml布局文件为View对象 LayoutInflater flater = LayoutInflater.from(BatteryActivity.this); View view = flater.inflate(R.layout.battery2, null); dialog.setContentView(view,new ViewGroup.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); /** * 获取该dialog显示的父窗口,然后设置当dialog显示时,窗口内的其他部分设置为模糊 * WindowManager.LayoutParams.FLAG_BLUR_BEHIND告诉我们,无论什么对象显示于前段, * 都会显示在window的最上层 */ Window window = dialog.getWindow(); window.setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParams.FLAG_BLUR_BEHIND); /** * 这里注意findViewById()方法,默认的会去加载main.xml中的组件。如果你想加载x.xml中的id为 * a的组件,那么应该在前面加上setContentView这个布局文件的对象,如这里的dialog */ TextView textView = (TextView)dialog.findViewById(R.id.textView_message); textView.setText("目前的手机电量为"+level*100/scale+"%"); Button button2 = (Button) dialog.findViewById(R.id.button_back); button2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); // 注销广播接收者 unregisterReceiver(broadcastReceiver); } }); dialog.show(); } } }; @Override public void onClick(View v) { IntentFilter filter = new IntentFilter(ACTION_NAME); registerReceiver(broadcastReceiver, filter); } }

battery2.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <TextView android:text="TextView" android:id="@+id/textView_message" android:textSize="10sp" android:gravity="center" android:padding="10px" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView> <Button android:id="@+id/button_back" android:layout_width="wrap_content" android:text="返回" android:layout_height="wrap_content"></Button> </LinearLayout>

battery.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <Button android:text="显示电量" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> </LinearLayout>

android之检测手机电池相关推荐

  1. Android下检测网络连接 3G WIFI

    Android下检测网络状态 3G WIFI 实现 代码如下 package Android.HelloAndroid; import android.app.Activity; import and ...

  2. android frida 检测_Android 逆向 | Frida 是万能的吗? 检测 Frida 的几种办法

    Frida 在逆向工程狮中很受欢迎,你基本可以在运行时访问到你能想到的任何东西,内存地址.native 函数.Java 实例对象等. 在 OWASP 的移动测试指南里就提到了 Frida.但是啊,每出 ...

  3. Android 手势检测实战 打造支持缩放平移的图片预览效果(下)

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39480503,本文出自:[张鸿洋的博客] 上一篇已经带大家实现了自由的放大缩小图 ...

  4. android 人脸检测_Android人脸检测

    android 人脸检测 With the release of Google Play services 7.8, Google has brought in the Mobile Vision A ...

  5. 深度学习自学(六):Android人脸检测环境配置等相关问题

    Android人脸检测环境配置等相关问题 1.android studio 包查找不到 2.android studio 快捷键 搜索类的快捷键是Ctrl+N,搜索以后点击结果,可以跳到相应类的文件. ...

  6. Android中检测应用是否安装

    Android中检测应用是否安装有多种方法,其中比较常用的有如下2种: 1.通过获取系统上已安装的所有app列表来查找[不推荐.因为要获取已安装的所有app信息,可能会有隐私泄露风险] public ...

  7. Android模拟器检测体系梳理

    转自:https://www.wireghost.cn/2018/05/10/Android模拟器检测体系梳理/ 模拟器作为一种虚拟机,配合改机工具,能够以较低成本实现设备多开,因此而备受黑灰产的青睐 ...

  8. android 电池检测软件,电池检测软件下载-电池检测 安卓版v1.1.0-PC6安卓网

    电池检测软件是一款电池检测优化应用,电池检测app能够高效提升为手机待机时长65%,电池检测app延长手机电池使用寿命70%以上.实时检测手机电池使用状态,一键省电快速优化耗电应用.多种智能省电模式选 ...

  9. android安全检测工具,梆梆安全 - 防止反编译|APP安全加固|应用加固|盗版监测

    android安全检测工具,梆梆安全 - 防止反编译|APP安全加固|应用加固|盗版监测 https://dev.bangcle.com/ 业内专业的应用加固服务供应商 帮助数十万APP抵御破解风险, ...

最新文章

  1. apply()和call()的区别
  2. 里海水位上升的原因_汽轮机真空下降的原因及处理
  3. python免费教学视频教程-Python免费教程_Python免费视频教程大全_易玩网
  4. rsa.FromXmlString 系统找不到指定的文件
  5. Linux命令 - 帮助命令 man
  6. 传统I/O 数据拷贝
  7. cygwin 编译 android vlc,Cygwin 编译 VLC 问题
  8. asr语音转写_搜狗智能录音笔C1正式上市 语音转文字准确率达95%
  9. Disqus API 用法 How to get your Disqus API keys
  10. JavaScript算法(实例一)完数 / 水仙花数 / 素数
  11. android 中在CMD中查看sqlite
  12. python装饰器快速入门
  13. 网站备案后可以换服务器吗,域名备案后可以更换服务器吗
  14. C语言课程设计(服装管理系统详解)
  15. 华为p4支持鸿蒙功能吗_华为鸿蒙系统支持哪些手机 鸿蒙系统支持以前的华为手机吗...
  16. 气死老师的作文(转贴)
  17. TIA博途中如何通过PLC变量控制开始和停止记录数据?
  18. select、poll、epoll的文件描述符上限问题
  19. html如何设置打印样式?
  20. 淘宝开放平台阿里奇门对接联调教程详细操作

热门文章

  1. SOLARIS维护命令
  2. 不保留此次计算机修改,如何重置Win10?重置Win10有影响吗?失败了怎么办?
  3. Android源码博文集锦2
  4. 深度 | 驭势仿真实景建模技术,构筑无人驾驶的商业化世界
  5. 编写MATLAB程序绘制一束花
  6. c语言将数组初始化为1_C语言中数组的初始化
  7. 生物信息数据存放类型之——FASTQ
  8. Python实战之小飞机--代码
  9. 对VB注册全局热键的思考——是不是RegisterHotKey的1个ID可以注册多组热键?
  10. qt中模态对话框和非模态对话框