首页 > 代码库 > Android通过StickyBroadcast进行低电量检测提示
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(); }
Android通过StickyBroadcast进行低电量检测提示
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。