System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种计算应用前后台使用时长的方法及设备技术_技高网

一种计算应用前后台使用时长的方法及设备技术

技术编号:39939811 阅读:6 留言:0更新日期:2024-01-08 22:28
本申请的目的是提供一种计算应用前后台使用时长的方法及设备,通过定义移动设备的后台服务的运行过程中的不同后台事件,后台事件存储的数据结构包括事件所属应用、事件创建时的时间戳及事件类型;向移动设备的原生系统注册用于监听各后台事件的事件监听器;在预设时间段内,通过原生系统及其事件监听器,监听并记录用户使用目标应用时运行的所有的目标事件,目标事件包括目标后台事件和目标前台事件;使用栈的结构和所有的目标事件,计算用户在预设时间段内使用目标应用的应用使用时长,通过在原生系统上进行扩展,兼容性好、准确且易扩展,能够满足市场对应用的前后台使用时长的统计。

【技术实现步骤摘要】

本申请涉及计算机,尤其涉及一种计算应用前后台使用时长的方法及设备


技术介绍

1、现有技术中,移动设备的普及导致人们每天花费大量的时间来玩手机,但用户缺乏对自己每天使用应用的时长的了解,因此需要开发一款应用能够以直观的方式展现用户每天使用的应用的时长的情况。但移动设备的原生系统只针对应用在前台页面时的时间进行了统计,即只能统计前台页面的使用时间,都没有对后台服务的时间进行统计,导致用户体验欠缺。对于有后台服务的计算无法进行,是因为后台服务与前台页面可以同时进行,也就是在使用前台页面的同时有后台服务在进行,如边玩手机边听歌,这种情况前台页面的时间戳段和后台服务的时间戳段会有交叉,导致无法准确地确定一次使用的具体开始和结束时间。因此,急需一种方法来统计应用在页面和后台服务中使用的整体时间。


技术实现思路

1、本申请的一个目的是提供一种计算应用前后台使用时长的方法及设备,应用于移动设备,通过改造移动设备的原生系统,使得原生系统支持计算后台服务的运行的后台事件,通过向原生系统记录自定义的后台服务的运行过程中的后台事件,最终实现任一时间段任一应用在使用过程中的前后台的使用时长的统计,通过在原生系统上进行扩展,兼容性好、准确且易扩展,能够满足市场对应用的前后台使用时长的统计。

2、根据本申请的一个方面,提供了一种计算应用前后台使用时长的方法,应用于移动设备,其中,该方法包括:

3、定义移动设备的后台服务的运行过程中的不同后台事件,所述后台事件存储的数据结构包括事件所属应用、事件创建时的时间戳及事件类型;

4、向所述移动设备的原生系统注册用于监听各所述后台事件的事件监听器,所述原生系统支持对所述移动设备的前台页面的运行过程中的不同前台事件;

5、在预设时间段内,通过所述原生系统及其事件监听器,监听并记录用户使用目标应用时运行的所有的目标事件,所述目标事件包括目标后台事件和目标前台事件;

6、使用栈的结构和所述所有的目标事件,计算所述用户在所述预设时间段内使用所述目标应用的应用使用时长。

7、进一步地,上述方法中,所述在预设时间段内,通过所述原生系统及其事件监听器,监听并记录用户使用目标应用时运行的所有的目标事件,所述目标事件包括目标后台事件和目标前台事件,包括:

8、在预设时间段内,通过所述事件监听器监听用户使用目标应用时运行的所有后台服务对应的目标后台事件,并将监听到的所有的目标后台事件写入所述原生系统的框架中;

9、同时,通过所述原生系统监听用户使用所述目标应用时运行的所有的前台页面对应的目标前台事件;

10、将时间轴上排列的所有的所述目标后台事件和所有的所述目标前台事件,按照时间先后顺序,进行序列化存储。

11、进一步地,上述方法中,所述使用栈的结构和所述所有的目标事件,计算所述用户在所述预设时间段内使用所述目标应用的应用使用时长,包括:

12、设目标应用的前台页面对应的目标前台事件开启时间为fstart、结束时间为fstop,后台服务对应的目标后台事件开启时间为bstart、结束时间为bstop;其中,

13、步骤一、当检测到有fstart或bstart时,将fstart或bstart的结点存入栈中,且栈为空时,记录fstart或bstart的时间为当前次使用目标应用的真正的开始时间,设为r_start,r_start为栈底结点的时间;

14、步骤二、当检测到有fstop或bstop时,则将当前栈中的栈顶结点删除,若删除栈顶结点后栈为空,则fstop或b_stop为当前次使用目标应用的真正的结束时间,设为r_stop;

15、步骤三、记录用户当前次使用所述目标应用的当前次使用时长为:r_stop-r_start;

16、步骤四、重复步骤一至步骤三,直至所述预设时间段内记录的所有的时间结点全部计算完毕,并累计用户在所述预设时间段内所有次使用所述目标应用的应用使用时长,其中,所述目标应用的应用使用时长包括前台页面的使用和后台服务的使用。

17、进一步地,上述方法中,所述方法还包括:

18、向所述移动设备的原生系统注册用于监听各应用的应用进程死亡的进程监听器;

19、在所述预设时间段内,当用户使用所述目标应用时,通过所述进程监听器监听到所述目标应用的应用进程死亡,则将所述目标应用正在运行的一个或多个目标事件全部写入所述原生系统的框架中进行结束记录。

20、进一步地,上述方法中,所述前台页面用于指示与用户进行交互的ui页面;

21、所述后台服务用于指示无需交互页面也能在后台进行运算的服务。

22、根据本申请的另一个方面,还提供了一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述计算应用前后台使用时长的方法。

23、根据本申请的另一个方面,还提供了一种计算应用前后台使用时长的设备,其中,该设备包括:

24、一个或多个处理器;

25、计算机可读介质,用于存储一个或多个计算机可读指令,

26、当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述计算应用前后台使用时长的方法。

27、与现有技术相比,本申请通过定义移动设备的后台服务的运行过程中的不同后台事件,所述后台事件存储的数据结构包括事件所属应用、事件创建时的时间戳及事件类型;向所述移动设备的原生系统注册用于监听各所述后台事件的事件监听器,所述原生系统支持对所述移动设备的前台页面的运行过程中的不同前台事件;在预设时间段内,通过所述原生系统及其事件监听器,监听并记录用户使用目标应用时运行的所有的目标事件,所述目标事件包括目标后台事件和目标前台事件;使用栈的结构和所述所有的目标事件,计算所述用户在所述预设时间段内使用所述目标应用的应用使用时长,实现了通过改造移动设备的原生系统,使得原生系统支持计算后台服务的运行的后台事件,通过向原生系统记录自定义的后台服务的运行过程中的后台事件,最终实现任一时间段任一应用在使用过程中的前后台的使用时长的统计,通过在原生系统上进行扩展,兼容性好、准确且易扩展,能够满足市场对应用的前后台使用时长的统计。

本文档来自技高网...

【技术保护点】

1.一种计算应用前后台使用时长的方法,应用于移动设备,其中,该方法包括:

2.根据权利要求1所述的方法,其中,所述在预设时间段内,通过所述原生系统及其事件监听器,监听并记录用户使用目标应用时运行的所有的目标事件,所述目标事件包括目标后台事件和目标前台事件,包括:

3.根据权利要求2所述的方法,其中,所述使用栈的结构和所述所有的目标事件,计算所述用户在所述预设时间段内使用所述目标应用的应用使用时长,包括:

4.根据权利要求1所述的方法,其中,所述方法还包括:

5.根据权利要求1至4中任一项所述的方法,其中,所述前台页面用于指示与用户进行交互的UI页面;

6.一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如权利要求1至5中任一项所述的方法。

7.一种计算应用前后台使用时长的设备,其中,该设备包括:

【技术特征摘要】

1.一种计算应用前后台使用时长的方法,应用于移动设备,其中,该方法包括:

2.根据权利要求1所述的方法,其中,所述在预设时间段内,通过所述原生系统及其事件监听器,监听并记录用户使用目标应用时运行的所有的目标事件,所述目标事件包括目标后台事件和目标前台事件,包括:

3.根据权利要求2所述的方法,其中,所述使用栈的结构和所述所有的目标事件,计算所述用户在所述预设时间段内使用所述目标应用的应用...

【专利技术属性】
技术研发人员:马超吴劭华江南
申请(专利权)人:上海卓易科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1