AppMonitor
AppMonitor 可以轻松的监听App的前后台状态变化;Activity的活跃状态变化;设备的开关屏状态变化。
主要功能介绍
- 支持监听App的状态变化(前后台切换)
- 支持监听Activity的状态变化
- 支持监听设备屏幕的状态变化(开关屏、解锁)
引入
Gradle:
- 在Project的 build.gradle 里面添加远程仓库
allprojects {
repositories {
//...
mavenCentral()
}
}
- 在Module的 build.gradle 里面添加引入依赖项
implementation 'com.github.jenly1314:app-monitor:1.0.0'
示例
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()")
}
})
}
}
更多使用详情,请查看Demo中的源码使用示例或直接查看API帮助文档
版本记录
v1.0.0:2021-8-31
- AppMonitor初始版本
赞赏
如果你喜欢AppMonitor,或感觉AppMonitor帮助到了你,可以点右上角“Star”支持一下,你的支持就是我的动力,谢谢
你也可以扫描下面的二维码,请作者喝杯咖啡
关于我
Name: Jenly
Email: jenly1314#gmail.com / jenly1314#vip.qq.com
CSDN: jenly121
CNBlogs: jenly
GitHub: jenly1314
Gitee: jenly1314
加入QQ群: 20867961