Android通过StickyBroadcast进行低电量检测提示

逻辑不难,主要代码如下

/**
	 * 通过粘性广播检测电量
	 */
	private void checkBattery()
	{
		//通过粘性广播读取电量
		IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
		Intent intentBattery = registerReceiver(null, intentFilter);//注意,粘性广播不需要广播接收器
		if(intentBattery!=null)
		{
			//获取当前电量  
			int batteryLevel = intentBattery.getIntExtra("level", 0);  
		    //电量的总刻度  
		    int batterySum = intentBattery.getIntExtra("scale", 100);  
			float rotatio = 100*(float)batteryLevel/(float)batterySum;
			LogUtils.d("currentBattery="+rotatio+"%");
			if(rotatio<15)
			{
				getWindow().getDecorView().postDelayed(new Runnable() {
					@Override
					public void run() {
						showAlertToastTip(getString(R.string.common_low_batter));
					}
				}, 100);
			}
		}
	}
	/**
	 * 显示警告提示
	 * @param msg
	 */
	private void showAlertToastTip(String msg)
	{
		TextView msgTv = null;
		Toast toast = null;
		toast = new Toast(this);
		toast.setDuration(Toast.LENGTH_SHORT);
		toast.setGravity(Gravity.TOP | Gravity.FILL_HORIZONTAL, 0, 0);

		View toastView = LayoutInflater.from(this).inflate(
					R.layout.common_simple_toast_layout, null);
		msgTv = (TextView) toastView.findViewById(R.id.common_toast_text_tv);
		toastView.setTag(msgTv);
		toast.setView(toastView);
		msgTv.setText(msg);
		toast.show();
	}
时间: 2024-12-13 00:21:49

Android通过StickyBroadcast进行低电量检测提示的相关文章

Android 性能优化之内存泄漏检测以及内存优化(上)

在 Java 中,内存的分配是由程序完成的,而内存的释放则是由 Garbage Collecation(GC) 完成的,Java/Android 程序员不用像 C/C++ 程序员一样手动调用相关函数来管理内存的分配和释放,虽然方便了很多,但是这也就造成了内存泄漏的可能性,所以记录一下针对 Android 应用的内存泄漏的检测,处理和优化的相关内容,上篇主要会分析 Java/Android 的内存分配以及 GC 的详细分析,中篇会阐述 Android 内存泄漏的检测和内存泄漏的常见产生情景,下篇会

Android 电子邮件发送成功与失败的提示

前言 欢迎大家我分享和推荐好用的代码段~~ 声明          欢迎转载,但请保留文章原始出处: CSDN:http://www.csdn.net 雨季o莫忧离:http://blog.csdn.net/luckkof 正文 For imap/pop: EmailServiceStub.java#sendMaillImpl(),其中statement: sender.sendMessage(messageId)去send mail,您可以详细看下该方法的实现,在适当的地方加成功或者失败的to

Xamarin开发Android时Visual Studio 2012没有智能提示解决办法

Most of the people who work with Xamarin’s Mono for Android in Visual Studio 2012 face a bug where Intellisense doesn’t work for AXML in source view. One of the fix which worked for me is mentioned below. Launch Visual Studio 2012 Open a solution wit

Android 项目导入后真机运行提示:W/dalvikvm(10375): VFY 错误

Android编译环境下,运行应用提示: W/dalvikvm(10375): VFY: unable to resolve static method 357: Lorg/cocos2d/nodes/CCDirector;.sharedDirector ()Lorg/cocos2d/nodes/CCDirector; 解决办法: buildpath->Order and Export->select All

解决低电量自动关机时如果有来电自动关断电话

1.问题描述: 低电量时,由于系统已经无法继续提供通话服务,为了不影响通话服务质量或其它问题,因此在自动关机时应自动挂断电话 2.解决思路: 在低电量自动关机时,如果此时有来电,调用挂断电话的接口,挂断电话. 3.实现方式: BatteryService.java private void shutdownIfNoPowerLocked() { // shut down gracefully if our battery is critically low and we are not powe

Android开发中Eclipse里的智能提示设置

今天开始学习一下Android开发,直接在Android Developers下载的一个开发工具包,然后再下了一个JDK,配置完环境变量等一系列的工作后环境就搭建好了,在新建好第一个Android项目 后,唉?写代码没有智能提示?对于用惯了VS的.NET开发者来说,简直不能接受啊,肯定哪里有设置对不对! 百度了一下,设置如下:1.java文件中智能提示打 开Eclipse 依次选择 Window > Preferences > Java > Editor - Content Assist

android异步任务图片下载(进度条提示进度)

一.AsyncTask介绍 Android提供了几种在其他线程中访问UI线程的方法. Activity.runOnUiThread( Runnable ) View.post( Runnable ) View.postDelayed( Runnable, long ) Hanlder 这些类或方法同样会使你的代码很复杂很难理解.然而当你需要实现一些很复杂的操作并需要频繁地更新UI时这会变得更糟糕. 为了解决这个问题,Android 1.5提供了一个工具类:AsyncTask,它使创建需要与用户界

Android - Android Studio 3.0去掉方法参数提示

原文:Android - Android Studio 3.0去掉方法参数提示 升级到3.0之后,最明显的一个就是在调用方法的时候多了一个参数提示.有利有弊,看着不是很舒服.就想去掉. 提示样式如下: 去掉提示: 原文地址: https://blog.csdn.net/student9128/article/details/78141777 原文地址:https://www.cnblogs.com/lonelyxmas/p/10258581.html

Android自己定义控件(状态提示图表)

[工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处.尊重分享成果] 1 背景 前面分析那么多系统源代码了.也该暂停下来歇息一下,趁昨晚闲着看见一个有意思的需求就操练一下分析源代码后的实例演练--自己定义控件. 这个实例非常适合新手入门自己定义控件.先看下效果图: 横屏模式例如以下: 竖屏模式例如以下: 看见没有.这个控件全然自己定义的,连文字等都是自己定义的,没有不论什么图片等资源,就仅仅是一个小的java文件,这个界面仅仅有一个控件.例如以下咱们看下实现代