# AppMonitor **Repository Path**: jenly1314/AppMonitor ## Basic Information - **Project Name**: AppMonitor - **Description**: :dart: AppMonitor 可以轻松的监听App的前后台状态变化;Activity的活跃状态变化;设备的开关屏状态变化 - **Primary Language**: Kotlin - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2021-08-31 - **Last Updated**: 2025-05-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: monitor, App前后台, App状态监听 ## README # AppMonitor ![Image](app/src/main/ic_launcher-playstore.png) [![MavenCentral](https://img.shields.io/maven-central/v/com.github.jenly1314/app-monitor?logo=sonatype)](https://repo1.maven.org/maven2/com/github/jenly1314/AppMonitor) [![JitPack](https://img.shields.io/jitpack/v/github/jenly1314/AppMonitor?logo=jitpack)](https://jitpack.io/#jenly1314/AppMonitor) [![CI](https://img.shields.io/github/actions/workflow/status/jenly1314/AppMonitor/gradle.yml?logo=github)](https://github.com/jenly1314/AppMonitor/actions/workflows/gradle.yml) [![Download](https://img.shields.io/badge/download-APK-brightgreen?logo=github)](https://raw.githubusercontent.com/jenly1314/AppMonitor/master/app/release/app-release.apk) [![API](https://img.shields.io/badge/API-21%2B-brightgreen?logo=android)](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) [![License](https://img.shields.io/github/license/jenly1314/AppMonitor?logo=open-source-initiative)](https://opensource.org/licenses/mit) AppMonitor 可以轻松的监听App的前后台状态变化;Activity的活跃状态变化;设备的开关屏状态变化。 ## 功能介绍 - ✅ 支持监听App的状态变化(前后台切换) - ✅ 支持监听Activity的状态变化 - ✅ 支持监听设备屏幕的状态变化(开关屏、解锁) ## 引入 ### Gradle: 1. 在Project的 **build.gradle** 或 **setting.gradle** 中添加远程仓库 ```gradle repositories { //... mavenCentral() } ``` 2. 在Module的 **build.gradle** 中添加依赖项 ```gradle implementation 'com.github.jenly1314:app-monitor:1.0.0' ``` ## 使用 ### 示例 ```kotlin class App : Application() { companion object{ const val TAG = "App" } override fun onCreate() { super.onCreate() initAppMonitor() } private fun initAppMonitor(){ //初始化 AppMonitor.initialize(this,true) //注册监听 App 状态变化(前台,后台) AppMonitor.registerAppStatusCallback(object: AppMonitor.OnAppStatusCallback{ override fun onAppForeground(activity: Activity) { //App 切换到前台 Log.d(TAG,"onAppForeground(Activity = $activity)") } override fun onAppBackground(activity: Activity) { //App 切换到后台 Log.d(TAG,"onAppBackground(Activity = $activity)") } }) //注册监听 Activity 状态变化 AppMonitor.registerActivityStatusCallback(object: AppMonitor.OnActivityStatusCallback{ override fun onAliveStatusChanged( activity: Activity, isAliveState: Boolean, aliveActivityCount: Int ) { //Activity 的存活状态或数量发生变化 Log.d(TAG,"onAliveStatusChanged(Activity = $activity, isAliveState = $isAliveState, aliveActivityCount = $aliveActivityCount)") } override fun onActiveStatusChanged( activity: Activity, isActiveState: Boolean, activeActivityCount: Int ) { //Activity 的活跃状态或数量发生变化 Log.d(TAG,"onActiveStatusChanged(Activity = $activity, isActiveState = $isActiveState, activeActivityCount = $activeActivityCount)") } }) //注册监听屏幕状态变化(开屏、关屏、解锁) AppMonitor.registerScreenStatusCallback(object : AppMonitor.OnScreenStatusCallback{ override fun onScreenStatusChanged(isScreenOn: Boolean) { //屏幕状态发生变化(开屏或关屏) Log.d(TAG,"onScreenStatusChanged(isScreenOn = $isScreenOn)") } override fun onUserPresent() { //解锁:当设备唤醒后,用户在(解锁键盘消失)时回调 Log.d(TAG,"onUserPresent()") } }) } } ``` 更多使用详情,请查看[app](app)中的源码使用示例或直接查看[API帮助文档](https://jitpack.io/com/github/jenly1314/AppMonitor/latest/javadoc/) ## 相关推荐 - [NeverCrash](https://github.com/jenly1314/NeverCrash) 一个用于App全局捕获Crash的库。信NeverCrash,永不Crash。 - [RetrofitHelper](https://github.com/jenly1314/RetrofitHelper) 一个为 Retrofit 提供便捷配置多个BaseUrl相关的扩展帮助类。 - [BaseUrlManager](https://github.com/jenly1314/BaseUrlManager) BaseUrl管理器,主要打测试包时,一个App可动态切换到不同的开发环境或测试环境。 - [MVVMFrame](https://github.com/jenly1314/MVVMFrame) 一个基于Google官方推出的JetPack构建的MVVM快速开发框架。 - [AppUpdater](https://github.com/jenly1314/AppUpdater) 一个专注于App更新,一键傻瓜式集成App版本升级的轻量开源库。 ## 版本日志 #### v1.0.0:2021-8-31 * AppMonitor初始版本 --- ![footer](https://jenly1314.github.io/page/footer.svg)