1.一种检测用户使用应用程序的方法,包括:
通过挂钩函数监测管理运行应用程序堆栈的栈顶中的应用程序;
判断本次检测的应用程序与相邻上一次检测的应用程序是否相同;
若所述本次检测的应用程序与相邻上一次检测的应用程序不同,则获取上一次检测不同时所记录的第一时刻以及本次检测的第二时刻,根据所述第一时刻和第二时刻获取所述相邻上一次检测的应用程序的使用时长;
获取用户标识,统计预设时间内所述用户标识对应的各应用程序的累计使用时长。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
按照所述累计使用时长从高到低筛选出预定数量的应用程序或所述累计使用时长超过时长阈值的应用程序作为与所述用户标识对应的常用应用程序。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
当通过挂钩函数挂钩所述管理运行应用程序堆栈的接口失败时,记录所述栈顶中应用程序的开始使用时刻;
按照指定间隔时间对所述栈顶发起轮询,获取所述栈顶中的应用程序;
判断本次轮询的应用程序与相邻上一次轮询的应用程序是否相同;
若本次轮询的应用程序与相邻上一次轮询的应用程序不同,则记录本次轮询的时刻,根据所述上一次轮询的应用程序的开始使用时刻与本次轮询的时刻获取所述上一次轮询的应用程序的使用时长,并将所述本次轮询的时刻作为所述本次轮询的应用程序的开始使用时刻;
若本次轮询的应用程序与相邻上一次轮询的应用程序相同,则继续按照指定间隔时间对所述栈顶发起轮询,获取所述栈顶中的应用程序。
4.根据权利要求1或2所述的方法,其特征在于,所述判断本次检测的应用程序与相邻上一次检测的应用程序是否相同,包括:
获取本次检测的应用程序标识和相邻上一次检测的应用程序标识;
判断本次检测的应用程序标识和相邻上一次检测的应用程序标识是否相同。
5.根据权利要求3所述的方法,其特征在于,在通过挂钩函数监测管理运行应用程序堆栈的栈顶中的应用程序之前,所述方法还包括:
检测是否具有超级管理权限;
若具有超级管理权限,则通过挂钩函数监测管理运行应用程序堆栈的栈顶中的应用程序;
若不具有超级管理权限,则执行所述记录所述栈顶中应用程序的开始使用时刻,按照指定间隔时间对所述栈顶发起轮询,获取所述栈顶中的应用程序的步骤。
6.根据权利要求3所述的方法,其特征在于,在通过挂钩函数监测管理运行应用程序堆栈的栈顶中的应用程序之前,所述方法还包括:
检测是否具有超级管理权限;
若具有超级管理权限,则执行所述通过挂钩函数监测管理运行应用程序堆栈的栈顶中的应用程序的步骤;
若不具有超级管理权限,则检测用户终端是否具有临时的超级管理权限;
若具有临时的超级管理权限,则执行所述通过挂钩函数监测管理运行应用程序堆栈的栈顶中的应用程序的步骤;
若不具有临时的超级管理权限,则向服务器发起获取临时的超级管理权限策略的请求,接收所述服务器返回的临时的超级管理权限策略;
若根据所述临时的超级管理权限策略获取临时的超级管理权限成功,则执行所述通过挂钩函数监测管理运行应用程序堆栈的栈顶中的应用程序的步骤;
若根据所述临时的超级管理权限策略获取临时的超级管理权限失败,则所述记录所述栈顶中应用程序的开始使用时刻,按照指定间隔时间对所述栈顶发起轮询,获取所述栈顶中的应用程序的步骤。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述用户标识、所述用户标识对应的应用程序标识,以及各应用程序标识对应的应用程序每次使用时长上传到服务器;
接收所述服务器推送的累计使用时长超过预设时长的应用程序的同类的应用程序信息,
和/或,接收所述服务器推送的与用户标识对应的常用应用程序同类的应用程序信息,所述常用应用程序是指按照累计使用时长从高到低选取的预定数量的应用程序或累计使用时长超过时长阈值的应用程序。
8.一种检测用户使用应用程序的方法,包括:
接收用户终端上传的用户标识、所述用户标识对应的应用程序、各应用程序对应的每次使用时长,其中,所述各应用程序对应的每次使用时长是通过挂钩函数监测管理运行应用程序堆栈的栈顶中的应用程序,并判断本次检测的应用程序与相邻上一次检测的应用程序是否相同,若所述本次检测的应用程序与相邻上一次检测的应用程序不同,获取上一次检测不同时所记录的第一时刻以及本次检测的第二时刻,根据所述第一时刻和第二时刻所获取的所述相邻上一次检测的应用程序的使用时长;
统计预设时间内所述用户标识对应的各应用程序的累计使用时长。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
按照所述累计使用时长从高到低筛选出预定数量的应用程序或所述累计使用时长超过时长阈值的应用程序作为与所述用户标识对应的常用应用程序。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
接收包含用户标识的应用程序恢复请求;
根据所述应用程序恢复请求中的用户标识查找到与所述用户标识对应的常用应用程序;
将所述常用应用程序返回给所述发起应用程序恢复请求的用户标识所在的用户终端。
11.根据权利要求9所述的方法,其特征在于,所述方法还包括:
接收包含用户标识的应用程序恢复请求;
根据所述应用程序恢复请求中的用户标识查找到与所述用户标识对应的常用应用程序,以及获取所述用户标识预选的应用程序;
将所述常用应用程序及所述用户标识预选的应用程序返回给所述发起应用程序恢复请求的用户标识所在的用户终端。
12.根据权利要求8、10或11所述的方法,其特征在于,所述方法还包括:
根据所述用户标识对应的各应用程序的累计使用时长筛选出累计使用时长超过预设时长的应用程序;
获取与所述累计使用时长超过预设时长的应用程序同类的应用程序信息,并将所述同类的应用程序信息推送给所述用户标识所在的用户终端,
和/或,获取用户标识对应的常用应用程序同类的应用程序信息,将所述用户标识对应的常用应用程序同类的应用程序信息推送给所述用户标识所在的用户终端,所述常用应用程序是指按照累计使用时长从高到低选取的预定数量的应用程序或累计使用时长超过时长阈值的应用程序。
13.一种检测用户使用应用程序的装置,其特征在于,包括:
监测模块,用于通过挂钩函数监测管理运行应用程序堆栈的栈顶中的应用程序;
第一判断模块,用于判断本次检测的应用程序与相邻上一次检测的应用程序是否相同;
第一单次时长获取模块,用于若所述本次检测的应用程序与相邻上一次检测的应用程序不同,则获取上一次检测不同时所记录的第一时刻以及本次检测的第二时刻,根据所述第一时刻和第二时刻获取所述相邻上一次检测的应用程序的使用时长;
统计模块,用于获取用户标识,统计预设时间内所述用户标识对应的各应用程序的累计使用时长。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
筛选模块,用于按照所述累计使用时长从高到低筛选出预定数量的应用程序或所述累计使用时长超过时长阈值的应用程序作为与所述用户标识对应的常用应用程序。
15.根据权利要求13或14所述的装置,其特征在于,所述装置还包括:
记录模块,用于当通过挂钩函数挂钩所述管理运行应用程序堆栈的接口失败时,记录所述栈顶中应用程序的开始使用时刻;
轮询模块,用于按照指定间隔时间对所述栈顶发起轮询,获取所述栈顶中的应用程序;
第二判断模块,用于判断本次轮询的应用程序与相邻上一次轮询的应用程序是否相同;
所述记录模块还用于若本次轮询的应用程序与相邻上一次轮询的应用程序不同,则记录本次轮询的时刻;
第二单次时长获取模块,用于根据所述上一次轮询的应用程序的开始使用时刻与本次轮询的时刻获取所述上一次轮询的应用程序的使用时长,并将所述本次轮询的时刻作为所述本次轮询的应用程序的开始使用时刻;
所述轮询模块还用于若本次轮询的应用程序与相邻上一次轮询的应用程序相同,则继续按照指定间隔时间对所述栈顶发起轮询,获取所述栈顶中的应用程序。
16.根据权利要求13或14所述的装置,其特征在于,所述第一判断模块还用于获取本次检测的应用程序标识和相邻上一次检测的应用程序标识,判断本次检测的应用程序标识和相邻上一次检测的应用程序标识是否相同。
17.根据权利要求15所述的装置,其特征在于,所述装置还包括:
权限检测模块,用于在通过挂钩函数监测管理运行应用程序堆栈的栈顶中的应用程序之前,检测是否具有超级管理权限;
所述监测模块还用于若具有超级管理权限,则通过挂钩函数监测管理运行应用程序堆栈的栈顶中的应用程序;
所述记录模块还用于若不具有超级管理权限,记录所述栈顶中应用程序的开始使用时刻,所述轮询模块还用于按照指定间隔时间对所述栈顶发起轮询获取所述栈顶中的应用程序。
18.根据权利要求15所述的装置,其特征在于,所述装置还包括:
权限检测模块,用于在通过挂钩函数监测管理运行应用程序堆栈的栈顶中的应用程序之前,检测是否具有超级管理权限;
所述监测模块还用于若具有超级管理权限,则通过挂钩函数监测管理运行应用程序堆栈的栈顶中的应用程序;
所述权限检测模块还用于若不具有超级管理权限,则检测用户终端是否具有临时的超级管理权限;
所述监测模块还用于若具有临时的超级管理权限,则通过挂钩函数监测管理运行应用程序堆栈的栈顶中的应用程序;
权限策略请求模块,用于若不具有临时的超级管理权限,则向服务器发起获取临时的超级管理权限策略的请求;
权限策略接收模块,用于接收所述服务器返回的临时的超级管理权限策略;
所述监测模块还用于若根据所述临时的超级管理权限策略获取临时的超级管理权限成功,通过挂钩函数监测管理运行应用程序堆栈的栈顶中的应用程序;
所述记录模块还用于若根据所述临时的超级管理权限策略获取临时的超级管理权限失败,记录所述栈顶中应用程序的开始使用时刻,所述轮询模块还用于按照指定间隔时间对所述栈顶发起轮询,获取所述栈顶中的应用程序。
19.根据权利要求13或14所述的装置,其特征在于,所述装置还包括:
上传模块,用于将所述用户标识、所述用户标识对应的应用程序标识,以及各应用程序标识对应的应用程序每次使用时长上传到服务器;
信息接收模块,用于接收所述服务器推送的累计使用时长超过预设时长的应用程序的同类的应用程序信息,和/或,接收所述服务器推送的与用户标识对应的常用应用程序同类的应用程序信息,所述常用应用程序是指按照累计使用时长从高到低选取的预定数量的应用程序或累计使用时长超过时长阈值的应用程序。
20.一种检测用户使用应用程序的装置,其特征在于,包括:
数据接收模块,用于接收用户终端上传的用户标识、所述用户标识对应的应用程序、各应用程序对应的每次使用时长,其中,所述各应用程序对应的每次使用时长是所述用户终端通过挂钩函数监测管理运行应用程序堆栈的栈顶中的应用程序,并判断本次检测的应用程序与相邻上一次检测的应用程序是否相同,若所述本次检测的应用程序与相邻上一次检测的应用程序不同,获取上一次检测不同时所记录的第一时刻以及本次检测的第二时刻,根据所述第一时刻和第二时刻所获取的所述相邻上一次检测的应用程序的使用时长;
累计模块,用于统计预设时间内所述用户标识对应的各应用程序的累计使用时长。
21.根据权利要求20所述的装置,其特征在于,所述装置还包括:
第一筛取模块,用于按照所述累计使用时长从高到低筛选出预定数量的应用程序或所述累计使用时长超过时长阈值的应用程序作为与所述用户标识对应的常用应用程序。
22.根据权利要求21所述的装置,其特征在于,所述装置还包括:
恢复请求接收模块,用于接收包含用户标识的应用程序恢复请求;
查找模块,用于根据所述应用程序恢复请求中的用户标识查找到与所述用户标识对应的常用应用程序;
返回模块,用于将所述常用应用程序返回给所述发起应用程序恢复请求的用户标识所在的用户终端。
23.根据权利要求21所述的装置,其特征在于,所述装置还包括:
恢复请求接收模块,用于接收包含用户标识的应用程序恢复请求;
查找模块,用于根据所述应用程序恢复请求中的用户标识查找到与所述用户标识对应的常用应用程序,以及获取所述用户标识预选的应用程序;
返回模块,用于将所述常用应用程序及所述用户标识预选的应用程序返回给所述发起应用程序恢复请求的用户标识所在的用户终端。
24.根据权利要求20、22或23所述的装置,其特征在于,所述装置还包括:
第二筛取模块,用于根据所述用户标识对应的各应用程序的累计使用时长筛选出累计使用时长超过预设时长的应用程序;
推送模块,用于获取与所述累计使用时长超过预设时长的应用程序同类的应用程序信息,并将所述同类的应用程序信息推送给所述用户标识所在的用户终端,和/或,获取用户标识对应的常用应用程序同类的应用程序信息,将所述用户标识对应的常用应用程序同类的应用程序信息推送给所述用户标识所在的用户终端,所述常用应用程序是指按照累计使用时长从高到低选取的预定数量的应用程序或累计使用时长超过时长阈值的应用程序。