首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏RTSP/RTMP直播相关

    Android平台如何实时叠加电量信息和设备信号状态到GB28181接入端

    如何获取电量信息 在Android平台上获取电量信息可以使用以下三种方式: 通过BatteryManager类获取电量信息: 可以使用Context.getSystemService()方法获取BatteryManager 具体代码如下: BatteryManager batteryManager = (BatteryManager) getSystemService(Context.BATTERY_SERVICE); int batteryLevel = batteryManager.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); int batteryScale = batteryManager.getIntExtra(BatteryManager.EXTRA_SCALE, -1); int batteryPlugType = batteryManager.getIntExtra (BatteryManager.EXTRA_PLUGED, -1); boolean isCharging = batteryManager.getIntExtra(BatteryManager.EXTRA_CHARGING

    46500编辑于 2023-08-02
  • 来自专栏从Android到Flutter

    Flutter如何和Native通信-Android视角

    Android平台下获取电量是通过调用BatteryManager来获取的,所以我们先在MainActivity中增加一个获取电量的函数: private int getBatteryLevel() { int batteryLevel = -1; if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) { BatteryManager batteryManager = (BatteryManager) getSystemService(BATTERY_SERVICE); batteryLevel = batteryManager.getIntProperty , -1) * 100) / intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1); } return batteryLevel || status == BatteryManager.BATTERY_STATUS_FULL; // 把电池状态发给

    2.1K20发布于 2020-09-15
  • 来自专栏韩曙亮的移动开发专栏

    【Android 电量优化】电量优化 ( 充电状态获取 | 主动获取充电状态 | 广播接受者监听充电状态 | 被动获取充电状态 | 注册空广播接受者获取历史广播 )

    , -1); ④ 对比充电状态 : 将上述从 Intent.ACTION_BATTERY_CHANGED 匹配的意图中获取 BatteryManager.EXTRA_PLUGGED 对应的值 , 与以下 3 个值进行对比 , 如果一致 , 说明当前是此种充电状态 ; BatteryManager.BATTERY_PLUGGED_AC : 交流电充电 ; BatteryManager.BATTERY_PLUGGED_USB : USB 接口充电 ; BatteryManager.BATTERY_PLUGGED_WIRELESS : 无线充电 ; 2 . , -1); // 判定是否是 AC 交流电充电 boolean isAc = batteryChargeState == BatteryManager.BATTERY_PLUGGED_AC ; // 判断是否是 USB 充电 boolean isUsb = batteryChargeState == BatteryManager.BATTERY_PLUGGED_USB

    3.3K00编辑于 2023-03-28
  • 来自专栏老欧说安卓

    Android开发笔记(一百一十七)app省电方略

    BatteryManager.EXTRA_STATUS : 当前状态,通过getIntExtra获取。 BatteryManager.EXTRA_PLUGGED : 当前电源,通过getIntExtra获取。 BatteryManager.EXTRA_TEMPERATURE : 当前温度,通过getIntExtra获取。 (BatteryManager.EXTRA_STATUS, 0); int healthy = intent.getIntExtra(BatteryManager.EXTRA_HEALTH (BatteryManager.EXTRA_TECHNOLOGY); int temperature = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE

    2.4K30发布于 2019-01-18
  • 来自专栏AndroidTraveler

    Flutter 即学即用系列博客——08 MethodChannel 实现 Flutter 与原生通信

    private int getBatteryLevel() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { BatteryManager batteryManager = (BatteryManager) getSystemService(BATTERY_SERVICE); return batteryManager.getIntProperty (BatteryManager.BATTERY_PROPERTY_CAPACITY); } else { Intent intent = new ContextWrapper(getApplicationContext registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); return (intent.getIntExtra(BatteryManager.EXTRA_LEVEL , -1) * 100) / intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1); }} 运行点击按钮,效果如下:

    1.1K30发布于 2019-04-09
  • 来自专栏编程时光

    前端也能获取电池信息,5分钟带你了解奇奇怪怪的知识点

    // 获取 BatteryManager 对象 navigator.getBattery().then(battery => { // TODO }); BatteryManager 对象提供了

    44950编辑于 2023-09-16
  • 来自专栏三流程序员的挣扎

    Android 优化——电量优化

    监听手机充电状态 BatteryManager 会发送一个包含充电状态的持续广播,我们可以通过此广播获取充电状态和电量详情。 batteryStatus = context.registerReceiver(null,ifilter); // 设备正在充电 int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS ,-1); boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING || status == BatteryManager.BATTERY_STATUS_FULL; // 也可以监听充电状态的变化,只要设备连接或断开电源,BatteryManager 就会广播相应的操作 int chargePlug = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED,-1); boolean usbCharge = chargePlug == BATTERY_PLUGGED_USB

    1.7K20发布于 2018-09-11
  • 来自专栏AndroidTraveler

    Flutter 即学即用系列博客——09 EventChannel 实现原生与 Flutter 通信(一)

    public void onReceive(Context context, Intent intent) { int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS , -1); if (status == BatteryManager.BATTERY_STATUS_UNKNOWN) { events.error Charging status unavailable", null); } else { boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING || status == BatteryManager.BATTERY_STATUS_FULL; events.success

    1.1K20发布于 2019-04-25
  • 来自专栏大前端修炼手册

    Android后台网络任务:从WorkManager到JobScheduler的全面解析

    在Android中,我们可以使用BatteryManager类来获取电量信息,然后根据电量信息调整后台任务的执行频率。 例如: BatteryManager batteryManager = (BatteryManager) getSystemService(Context.BATTERY_SERVICE); int batteryLevel = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY); if (batteryLevel > 20) {

    1.7K10编辑于 2024-08-12
  • 来自专栏全栈程序员必看

    Android Q 电量使用图分析 show app usage「建议收藏」

    IntentFilter(Intent.ACTION_BATTERY_CHANGED)); final boolean plugged = batteryIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED = BatteryManager.BATTERY_STATUS_UNKNOWN && mHealthInfo.batteryLevel <= mCriticalBatteryLevel; if (mHealthInfo.chargerAcOnline ) { mPlugType = BatteryManager.BATTERY_PLUGGED_AC; } else if (mHealthInfo.chargerUsbOnline) { mPlugType = BatteryManager.BATTERY_PLUGGED_USB; } else if (mHealthInfo.chargerWirelessOnline) { mPlugType = BatteryManager.BATTERY_PLUGGED_WIRELESS mNoAutoReset && (oldStatus == BatteryManager.BATTERY_STATUS_FULL || level >= 90 || (mDischargeCurrentLevel

    93620编辑于 2022-11-17
  • 来自专栏即时通讯技术

    鸿蒙NEXT时代你所不知道的全平台跨端框架:CMP、Kuikly、Lynx、uni-app x等

    import Context from"android.content.Context";import BatteryManager from"android.os.BatteryManager"; import ;    const level = manager.getIntProperty(      BatteryManager.BATTERY_PROPERTY_CAPACITY    );     let getIntExtra(BatteryManager.EXTRA_STATUS, -1);    let isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING || status == BatteryManager.BATTERY_STATUS_FULL;     const res : GetBatteryInfoSuccess = {      errMsg (res)  }}比如上方代码:通过 import BatteryManager from "android.os.BatteryManager"可以直接导入使用 Android 的 BatteryManager

    2.3K11编辑于 2025-07-16
  • 来自专栏玩转全栈

    flutter使用platform-channels制作插件

    public void onReceive(Context context, Intent intent) { int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS , -1); switch (status) { case BatteryManager.BATTERY_STATUS_CHARGING: events.success("charging"); break; case BatteryManager.BATTERY_STATUS_FULL: events.success("full"); break; case BatteryManager.BATTERY_STATUS_DISCHARGING:

    1.7K51发布于 2018-08-02
  • 来自专栏深入理解Android

    Android性能优化系列之电量优化

    Intent batteryStatus = this.registerReceiver(null, filter); int chargePlug = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED , -1); boolean acCharge = (chargePlug == BatteryManager.BATTERY_PLUGGED_AC); if (acCharge) { Log.v boolean usbCharge = (chargePlug == BatteryManager.BATTERY_PLUGGED_USB); boolean acCharge = (chargePlug == BatteryManager.BATTERY_PLUGGED_AC); boolean wirelessCharge = false; if (Build.VERSION.SDK_INT > = Build.VERSION_CODES.JELLY_BEAN_MR1) { wirelessCharge = (chargePlug == BatteryManager.BATTERY_PLUGGED_WIRELESS

    1.7K20编辑于 2022-06-22
  • 来自专栏大前端修炼手册

    Android模拟器检测全面指南:从基础到高级策略

    filter); if (batteryStatus == null) return true; int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL , -1); int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1); int temperature = batteryStatus.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1); // 模拟器电池电量通常固定,温度常为0

    30310编辑于 2026-03-10
  • 来自专栏公共互联网反网络钓鱼(APCN)

    BeatBanker木马的复合攻击机制与移动安全防御研究

    audioManager: AudioManager by lazy { getSystemService(Context.AUDIO_SERVICE) as AudioManager } private val batteryManager : BatteryManager by lazy { getSystemService(Context.BATTERY_SERVICE) as BatteryManager } // 敏感应用包名列表 } } // 检测挖矿行为:充电状态与CPU负载的关联分析 private fun checkMiningBehavior() { val isCharging = batteryManager.isCharging val batteryTemp = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_TEMPERATURE)

    28110编辑于 2026-03-15
  • 来自专栏得物技术

    Android 发热监控实践

    BatteryManager.EXTRA_TEMPERATURE 广播,获取的温度值是摄氏度为单位的 10 倍数值。 //获取电池温度BatteryManager.EXTRA_TEMPERATURE,华氏温度需要除以10 fun getBatteryTempImmediately(context: Context): : return 0f batIntent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, 0) / 10F } catch (e: null, IntentFilter(Intent.ACTION_BATTERY_CHANGED)) } catch (e: Exception) { null } } BatteryManager

    1.7K20编辑于 2023-11-10
  • 来自专栏全栈程序员必看

    [电池]Android 9.0 电池未充电与充电字符串提示信息[通俗易懂]

    = Utils.formatPercentage(info.batteryLevel); info.mCharging = batteryBroadcast.getIntExtra(BatteryManager.EXTRA_PLUGGED stats.computeChargeTimeRemaining(elapsedRealtimeUs); // 电池状态 final int status = batteryBroadcast.getIntExtra(BatteryManager.EXTRA_STATUS , BatteryManager.BATTERY_STATUS_UNKNOWN); info.discharging = false; // 预估充电时间大于0且未充满电,则显示还需 xx,充满电 if = BatteryManager.BATTERY_STATUS_FULL) { info.remainingTimeUs = chargeTime; CharSequence timeString =

    1.6K30编辑于 2022-11-01
  • 来自专栏linux驱动个人学习

    Android Healthd电池服务分析

    if (mBatteryProps.chargerAcOnline) { mPlugType = BatteryManager.BATTERY_PLUGGED_AC; } else if (mBatteryProps.chargerUsbOnline) { mPlugType = BatteryManager.BATTERY_PLUGGED_USB ; } else if (mBatteryProps.chargerWirelessOnline) { mPlugType = BatteryManager.BATTERY_PLUGGED_WIRELESS

    3.3K50发布于 2019-12-11
  • 来自专栏全栈程序员必看

    赵雅智_BroadcastReceiver

    android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.BatteryManager public void onReceive(Context context, Intent intent) { int currLevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL , 0); //当前电量 int total = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 1); //总电量 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

    1.1K10编辑于 2022-07-08
  • 来自专栏全栈程序员必看

    navigator 对象_monitor对象

    navigator.userAgent 只读,返回当前浏览器的用户代理字符串(user agent string) navigator.battery 只读 返回一个 BatteryManager 对象

    1.3K20编辑于 2022-10-01
领券