AppMonitor 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
AppMonitor 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
AppMonitor 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
AppMonitor 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
AppMonitor 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 MIT
开发语言 Kotlin
操作系统 Android
软件类型 开源软件
开源组织
地区 国产
投 递 者 Jenly
适用人群 未知
收录时间 2021-09-02

软件简介

AppMonitor 可以轻松的监听App的前后台状态变化;Activity的活跃状态变化;设备的开关屏状态变化。

主要功能介绍

  •  支持监听App的状态变化(前后台切换)
  •  支持监听Activity的状态变化
  •  支持监听设备屏幕的状态变化(开关屏、解锁)

引入

Gradle:

  1. 在Project的 build.gradle 里面添加远程仓库
allprojects {
    repositories {
        //...
        mavenCentral()
    }
}
  1. 在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帮助文档

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2016/03/07 21:57

【Android】前后台切换监听

# 【Android】前后台切换监听 Android 本身并有提供这样的监听,所以就只能走偏门了。 首先,需要定义一下,什么叫“前台”,什么叫“后台”。本文定义如下: 前台 Activity 处在 FOREGROUND 优先级 后台 App进程没有停止,除去在“前台”的所有情况 所以,退到后台的方式太多了,大致有: 1. 按Home键 2. 按“最近任务”键 3. 从通知栏启动其他应用 4. 从应用内部启动其他应用 5. 关掉屏幕 既然是监听变化,所以肯定是在相关生...

0
3
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
1 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部