`
qq986945193
  • 浏览: 92444 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【Android】Android开发点击查看手机电量的小功能。学习广播的一个小技能小Demo

 
阅读更多

作者:程序员小冰,GitHub主页:https://github.com/QQ986945193
微博:http://weibo.com/mcxiaobing

首先给大家看一下效果图:
这里写图片描述
先写一个广播类:

package david.qq986945193.com.davidphonebroadcastreceivershowelectricity;

import android.app.AlertDialog;
import android.app.Dialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;

/**
 * @author :程序员小冰
 * @新浪微博 :http://weibo.com/mcxiaobing
 * @GitHub:https://github.com/QQ986945193
 * @CSDN博客: http://blog.csdn.net/qq_21376985
 * @交流Qq :986945193
 */
public class BatteryInfoBroadcastReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {

            int level = intent.getIntExtra("level", 0);
            //默认总电量 数值范围
            int scale = intent.getIntExtra("scale", 100);

            Dialog dialog = new AlertDialog.Builder(context).setTitle(
                    "电池电量"
            ).setMessage("电池电量为:" + String.valueOf(level * 100 / scale) + "%").setNegativeButton(
                    "关闭", new DialogInterface.OnClickListener() {

                        @Override
                        public void onClick(DialogInterface dialog, int which) {

                        }
                    }
            ).create();
            dialog.show();
        }
    }
}

然后再用一个主类进行动态注册广播调用即可:

 /**
         * 动态注册广播
         */
        BatteryInfoBroadcastReceiver receiver = new BatteryInfoBroadcastReceiver();
        IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
        registerReceiver(receiver, filter);

项目源代码下载地址:
https://github.com/QQ986945193/PhoneBroadcastReceiverShowElectricity

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
分享到:
评论

相关推荐

    完整的android 安卓入门demo

    通过这个完整的Android入门Demo,开发者不仅可以学习到基础控件的使用,还能理解服务和广播的机制,掌握Android应用开发的核心概念。实践中不断练习,将有助于提升Android编程技能,为成为专业开发者奠定坚实基础。

    android使用广播实现账号异常强制下线功能demo

    广播是Android系统中的一个机制,它允许应用发送全局的通知,任何注册了相应广播接收器(BroadcastReceiver)的应用都可以接收到这些通知。广播可以是系统级的,如电池低电量警告,也可以是应用自定义的,如账号状态...

    Android代码-安卓开发艺术Demo

    在移动应用开发领域,Android占据着重要的地位,而深入理解Android的开发艺术是每一个Android开发者必备的技能。本篇将围绕"Android代码-安卓开发艺术Demo"这一主题,详细解析Android开发过程中的关键知识点,通过...

    Android利用蓝牙广播数据

    5. **接收广播数据**:在另一台设备上,你需要创建一个`BluetoothLeScanner`实例来扫描广播数据。 ```java BluetoothLeScanner scanner = manager.getAdapter().getBluetoothLeScanner(); ScanFilter filter = new...

    简单广播收发demo

    "简单广播收发demo"是一个专为初学者设计的示例,它展示了如何创建、发送和接收广播的基本过程。下面我们将详细探讨广播的相关知识点。 1. **广播的基本概念**: 广播Intent是Android系统中的一种特殊Intent,用于...

    5个Android Demo

    学习这个Demo有助于理解Android系统的电量监控API和如何处理系统广播事件。 4. **Style应用实例**:"style简单学习应用示例.zip"是关于Android样式(Style)和主题(Theme)的应用实例。在Android中,样式可以统一...

    android来电秀demo

    Android来电秀Demo是一个用于自定义来电显示界面的应用示例,它允许用户根据自己的喜好调整来电窗口的大小和其他视觉效果,从而为手机增添个性化色彩。在这个项目中,开发者将深入学习如何在Android系统中实现来电...

    Android BroadcastReceiver Demo

    BroadcastReceiver的工作原理是基于Android系统的消息传递机制,当系统或者某个应用发送一个广播Intent时,所有注册了对应Intent过滤器的BroadcastReceiver都会被触发。BroadcastReceiver有两种注册方式:静态注册和...

    Android官方Wifi P2P Demo

    `WiFiDirectDemo`是一个完整的应用实例,展示了如何在Android设备上实现Wi-Fi P2P功能。它包含了以下主要功能: 1. **设备发现与选择**:应用会搜索周围的Wi-Fi P2P设备,并将它们列出来供用户选择。用户可以选择一...

    android 开机启动DEMO

    在Android系统中,实现开机启动服务或应用是一个常见的需求,特别是在开发系统级或者需要后台持续运行的功能时。这个"android 开机启动DEMO"旨在帮助开发者解决如何在Android设备开机时自动启动应用程序的问题。让...

    Android 广播、服务、对话框直接交互demo

    总的来说,这个"Android 广播、服务、对话框直接交互demo"提供了一个实际的案例,展示了如何利用Android的这些核心组件来实现一个实时数据更新并通知用户的系统,这对于理解和学习Android应用开发中的多组件协作是...

    Android Studio蓝牙通信客户端Demo源码BTClient.rar

    在这个“Android Studio蓝牙通信客户端Demo源码BTClient.rar”中,我们可以看到一个实现Android设备之间通过蓝牙进行通信的客户端示例。这个Demo适用于那些想要学习或集成蓝牙通信功能到自己应用的开发者。 蓝牙...

    Android BroadcastReceiver实例Demo

    在Android开发中,BroadcastReceiver(广播接收者)是四大组件之一,它负责监听系统或应用程序广播事件,并在接收到广播时执行相应的操作。本实例Demo将深入解析BroadcastReceiver的使用方法,帮助开发者更好地理解...

    Android Demo

    《Android Demo:深入解析...总结,Android Demo是学习和提升Android开发技能的重要途径,通过实际运行和研究Demo中的代码,开发者能够更好地理解和运用Android的各种特性和技术,为自己的应用开发之路打下坚实的基础。

    android 广播,界面传值示例

    开发者可能会创建一个自定义广播,触发条件可能是某个特定操作,如按钮点击,然后在BroadcastReceiver中接收并响应这个广播。同时,界面传值可能涉及到启动另一个Activity或者更新当前界面的状态。 学习这个示例,...

    Android环境下获取电池的电量

    ACTION_BATTERY_CHANGED是Android系统广播的一个重要事件,当电池状态发生变化时,系统会发送这个广播。开发者可以通过注册这个广播接收器,获取到关于电池状态的各种信息,包括电量、充电状态、电压等。首先,我们...

    N7000R广播demo

    综上所述,“N7000R广播demo”为开发者提供了一个实践和学习Android广播机制的实例,通过对BroadcastReceiver的运用,开发者可以实现应用对系统事件或自定义事件的实时响应,提升应用的交互性和功能多样性。

    客户端文档及demo_Android(20130328).rar

    标题中的“客户端文档及demo_Android(20130328).rar”表明这是一个针对Android平台的客户端应用程序的文档和演示示例,发布日期为2013年3月28日。这个压缩包可能包含了一系列与开发、理解和使用Android客户端应用...

    Android定时执行任务总结demo

    在Android开发中,有时我们需要实现一些定时执行的任务,比如定期检查更新、自动备份数据或执行后台服务等。本文将基于“Android定时执行任务总结demo”进行深入探讨,讲解如何在Android系统中设置定时任务。 首先...

Global site tag (gtag.js) - Google Analytics