【Android 10】 BatteryController

学习了一下电池的相关模式,也就是它的观察者模式,先附上图

图应该挺清晰的,BatteryControllerImpl就是被观察者,BatteryControllerImpl重写了CallbackController的两个方法用于添加或移除观察者。

java 复制代码
    void addCallback(T listener);
    void removeCallback(T listener);

BatteryStateChangeCallback就是抽象观察者,它是BatteryController的内部接口,里面有两个方法,看方法名字就可以知道一个是监听level改变的,也就是电量变化,onPowerSaveChanged方法就是监听目前电池省电模式有没有改变。

java 复制代码
    /**
     * A listener that will be notified whenever a change in battery level or power save mode has
     * occurred.
     */
    interface BatteryStateChangeCallback {

        default void onBatteryLevelChanged(int level, boolean pluggedIn, boolean charging) {
        }

        default void onPowerSaveChanged(boolean isPowerSave) {
        }
    }

想要监听电池level变化或者省电模式变化就实现这个接口就行。

相关推荐
alexhilton1 小时前
Compose中的CameraX二维码扫描器
android·kotlin·android jetpack
eric*16884 小时前
Android15 enableEdgeToEdge 全面屏沉浸式体验
android·edgetoedge
小智社群6 小时前
小米安卓真机ADB对硬件操作
android·adb
嗷o嗷o6 小时前
Android BLE 为什么连上了却收不到数据
android
pengyu6 小时前
【Kotlin 协程修仙录 · 炼气境 · 后阶】 | 划定疆域:CoroutineScope 与 Android 生命周期的绑定艺术
android·kotlin
朝星6 小时前
Android开发[5]:组件化之路由+注解
android·kotlin
随遇丿而安6 小时前
Android全功能终极创作
android
随遇丿而安6 小时前
第1周:别小看 `TextView`,它其实是 Android 页面里最常被低估的组件
android
summerkissyou198710 小时前
Android-基础-SystemClock.elapsedRealtime和System.currentTimeMillis区别
android
ian4u10 小时前
车载 Android C++ 完整技能路线:从基础到进阶
android·开发语言·c++