AppMonitor

Android App 状态监控工具
授权协议 MIT
开发语言 Kotlin
所属分类 手机/移动开发、 手机开发工具
软件类型 开源软件
地区 国产
投 递 者 斜光耀
操作系统 Android
开源组织
适用人群 未知
 软件概览

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帮助文档

  • 最近项目经理要做组件化,视频点播(vod)的组件化,组件的方向是  集成阿里云的vod和保利威视的vod ,往后面走,发现了以上bug,发现一个问题,保利威视的底层包jar ,依赖的是阿里的,哈哈,被我逮到了 居然也抄袭,遇到了这个bug ,怎么办? 在项目中,双击shift,目的是找到重复引用文件的使用位置,进而找到本地的绝对路径,把保利威视依赖的jar包 删除即可。

 相关资料
  • 7. 状态监控 主界面右下角状态栏可查看课堂的网络状态,如果房间网络状态不佳,请检查讲师和各个学员的本地网络链接是否正常。 延时 表示各个参会者之间的互动延时,延时在 0.2S 以下为正常状态,如果延时较高则可能会影响参会者的互动体验效果。 丢包 表示网络链路的传输质量,丢包率在 1%以下为正常状态,如果丢包率较高则可能会出现视频卡顿或中断等现象。 网络 表示房间的整体网络状态,其中“好”为正常状

  • 5.2 状态码监控 对于动态请求,Nginx本身不处理请求,而是反向代理到业务服务器,由业务服务器来真正处理请求。 业务服务器的处理状态,可以通过http返回状态码来判定。Nginx本身的access.log中,记录了每条请求以及返回状态码。对返回状态码进行监控,可以了解业务服务器的状态。 目前Camel以业务集群upstream为粒度进行监控,提供了状态码趋势图、状态码大盘、监控规则报警功能。

  • 本文向大家介绍如何监控 Elasticsearch 集群状态?相关面试题,主要包含被问及如何监控 Elasticsearch 集群状态?时的应答技巧和注意事项,需要的朋友参考一下 Marvel 让你可以很简单的通过 Kibana 监控 Elasticsearch。你可以实时查看你的集群健康状态和性能,也可以分析过去的集群、索引和节点指标。  

  • 本文向大家介绍shell脚本监控mysql主从状态,包括了shell脚本监控mysql主从状态的使用技巧和注意事项,需要的朋友参考一下 此脚本首先判断mysql服务器是否运行,如果正常,继续判断主从,否则发邮件告警,只发一次。 判断主从状态是判断IO和SQL线程是否都为yes,如果不是则发邮件通知,只发一次。

  • 我知道Enterprise(例如Cloudera)的方式,通过使用CM(通过浏览器)或Cloudera REST API可以访问监控和配置设施。 但是,如何在没有CM的情况下安排(运行和重新运行)水槽代理实时循环,并监控其运行/故障状态?水槽分布中有这样的东西吗?

  • 索引状态监控接口的输出信息和节点状态监控接口非常类似。一般情况下,这个接口单独监控起来的意义并不大。 不过在 ES 1.6 版开始,加入了对索引分片级别的 commit id 功能。 回忆一下之前原理章节的内容,commit 是在分片内部,对每个 segment 做的。而数据在主分片和副本分片上,是由各自节点自行做 segment merge 操作,所以副本分片和主分片的 segment 的 co

  • 集群状态是从最上层高度来评估你的集群概况,而节点状态则更底层一些,会返回给你集群里每个节点的统计信息。这个接口的信息极为丰富,从硬件到数据到线程,应有尽有。本节会以单节点为例,分段介绍各部分数据的含义。 首先,通过如下命令获取节点状态: # curl -XGET 127.0.0.1:9200/_nodes/stats 节点概要 返回数据的第一部分是节点概要,主要就是节点的主机名,网卡地址和监听端口

  • 如何查看系统变量 执行env可以查看系统的环境变量,如主机的名称、当前用户的SHELL类型、当前用户的家目录、当前系统所使用的语言等。 执行set可以看到系统当前所有的变量,其中包括了: 系统的所有预设变量,这其中既包括了env所显示的环境变量,也包含了其它许多预设变量。 用户自定义的变量。 监控系统的状态 使用w命令查看当前系统整体上的负载 使用w命令可以查看当前系统整体上的负载: # w 2