CN106959867B - 用于监听应用程序卸载的方法及系统 - Google Patents
用于监听应用程序卸载的方法及系统 Download PDFInfo
- Publication number
- CN106959867B CN106959867B CN201610016785.0A CN201610016785A CN106959867B CN 106959867 B CN106959867 B CN 106959867B CN 201610016785 A CN201610016785 A CN 201610016785A CN 106959867 B CN106959867 B CN 106959867B
- Authority
- CN
- China
- Prior art keywords
- application
- application program
- monitoring
- installation
- listening
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/62—Uninstallation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种用于监听应用程序卸载的方法及系统。首先,创建一监听进程,利用该监听进程监听所述应用程序的安装目录是否被删除。然后,在监听到所述应用程序的安装目录被删除时,间隔一预定时间之后监听所述安装目录是否被重建。最后,在间隔所述预定时间之后未监听到所述安装目录被重建时,则判定所述应用程序已被所述电子装置卸载,并将所述应用程序的卸载信息反馈给一服务器。上述方法及系统提高了应用程序卸载监听的准确率。
Description
技术领域
本发明涉及智能电子设备领域,具体而言,涉及一种应用于电子设备以监听应用程序卸载的方法及系统。
背景技术
目前,随着计算机技术及电子技术的发展,智能手机、移动上网设备(MobileInternet Device,MID)以及个人数字助理(Personal Digital Assistant,PDA)、平板电脑等电子设备已成为人们日常工作和生活中不可或缺的通讯和娱乐工具。许多的电子设备都支持用户自定义安装各种应用程序(Application,App),以满足不同的用户需求。当用户不需要某一安装的应用程序或对某一应用程序的使用体验较差时,可以根据自己需求卸载相应的应用程序。而作为应用程序的提供商,需要获取应用程序的卸载比率以及卸载的用户人群等有关的卸载信息,以用于衡量软件用户的忠诚度,进而促进其对应用程序的升级及改进。而如何高效且准确的获取相关的卸载信息,一直是业界探索的课题。
发明内容
有鉴于此,本发明实施例的目的在于提供一种用于监听应用程序卸载的方法,包括:
创建一监听进程,以对所述应用程序的安装目录进行实时监听;
通过所述监听进程监听所述应用程序的安装目录是否被删除;
在监听到所述应用程序的安装目录被删除时,间隔一预定时间之后监听所述安装目录是否被重建;以及
在间隔所述预定时间之后未监听到所述安装目录被重建时,判定所述应用程序已被所述电子装置卸载。
优选地,所述创建一监听进程的步骤包括:调用Linux中的用于复制所述应用程序的进程的函数创建所述监听进程。
优选地,所述监听进程调用位于Linux系统内核层用于对所述应用程序的安装目录进行监听的接口确认所述安装目录是否被删除。
优选地,所述监听进程每隔一定时间对所述应用程序的安装目录是否被删除进行一次监听。
优选地,在判定所述应用程序已被所述电子装置卸载时,所述方法将所述应用程序的卸载信息反馈给一服务器。
优选地,本发明实施例通过模拟http请求格式来访问预设的URL地址,通过该URL地址将所述卸载信息反馈给所述服务器。
优选地,所述监听进程被分配一地址空间,该地址空间与所述应用程序的进程的地址空间不相同。
本发明另一较佳实施例提供一种用于监听应用程序卸载的系统,包括:
进程创建模块,用于创建一监听进程,以对所述应用程序的安装目录进行实时监听;
第一监听模块,用于通过所述监听进程监听所述应用程序的安装目录是否被删除;
第二监听模块,用于在监听到所述应用程序的安装目录被删除时,间隔一预定时间之后监听所述安装目录是否被重建;以及
信息反馈模块,用于在间隔所述预定时间之后未监听到所述安装目录被重建时,判定所述应用程序已被所述电子装置卸载。
优选地,所述进程创建模块通过调用Linux中的用于复制所述应用程序的进程的函数创建所述监听进程。
优选地,所述监听进程调用位于Linux系统内核层用于对所述应用程序的安装目录进行监听的接口确认所述安装目录是否被删除。
优选地,所述监听进程每隔一定时间对所述应用程序的安装目录是否被删除进行一次监听。
优选地,所述信息反馈模块还用于在判定所述应用程序已被所述电子装置卸载时,将所述应用程序的卸载信息反馈给一服务器
优选地,所述信息反馈模块通过模拟http请求格式来访问预设的URL地址,通过该URL地址将所述卸载信息反馈给所述服务器。
与现有技术相比,本发明较佳实施例提供的用于监听应用程序卸载的方法及系统,可避免清除缓存等操作被错误的判定为所述应用程序的卸载操作,提高了应用程序卸载监听的准确率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明较佳实施例提供的至少一电子设备与一服务器通信的交互示意图。
图2是图1所示的电子设备的方框示意图。
图3是本发明较佳实施例提供的应用于图2所示的电子设备的用于监听应用程序卸载的方法的流程图。
图4是本发明较佳实施例提供的图2所示的监听系统的功能模块框图。
主要元件符号说明
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图1所示,是本发明较佳实施例提供的至少一电子设备100与服务器200通信的交互示意图。所述电子设备100可通过网络300与所述服务器200进行通信,以进行数据通信或交互。所述服务器200可以提供至少一个适用于各种操作系统的应用程序(Application,APP)210的安装包供所述电子设备100下载。所述电子设备100通过所述网络300访问所述服务器200后,可通过所述网络300从服务器200下载适用于该电子设备100的操作系统的应用程序210的安装包,以将所述应用程序210安装到所述电子设备100中。
本实施例中个,所述服务器200可以是,但不限于,web网站)服务器、ftp(filetransfer protocol,文件传输协议)服务器等。所述电子设备100可以是,但不限于,个人电脑(personal computer,PC)、平板电脑、智能手机、个人数字助理(personal digitalassistant,PDA)、移动上网设备(mobile Internet device,MID)等。所述网络300可以是,但不限于,有线网络或无线网络。所述电子设备100的操作系统可以是,但不限于,安卓(Android)系统、IOS系统、Windows phone系统等。优选地,本实施例中,所述电子设备100的操作系统为安卓系统。
如图2所示,是图1所示的电子设备100的方框示意图。所述电子设备100包括监听系统110、存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115、音频单元116、显示单元117以及射频单元118。
所述存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115、音频单元116、显示单元117以及射频单元118各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述监听系统110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器111中或固化在所述电子设备100的操作系统(operating system,OS)中的软件功能模块。所述存储器111存储有所述电子设备100从所述服务器200中下载并安装的应用程序210。所述处理器113用于执行所述存储器111中存储的可执行模块,例如所述监听系统110所包括的软件功能模块及计算机程序等。
其中,所述存储器111可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,存储器111用于存储程序,所述处理器113在接收到执行指令后,执行所述程序。所述处理器113以及其他可能的组件对存储器111的访问可在所述存储控制器112的控制下进行。
所述处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DSP))、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述外设接口114将各种输入/输出装置耦合至所述处理器113以及所述存储器111。在一些实施例中,外设接口114,处理器113以及存储控制器112可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
所述输入输出单元115用于提供给用户输入数据实现用户与所述电子设备100的交互。所述输入输出单元115可以是,但不限于,鼠标和键盘等。
所述音频单元116向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。
所述显示单元117在所述电子设备100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据。在本实施例中,所述显示单元117可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。
所述射频单元118用于接收以及发送无线电波信号(如电磁波),实现无线电波与电信号的相互转换,从而实现所述电子设备100与所述网络300或者其他通信设备之间的通信。
请参阅图3,是本发明较佳实施例提供的应用于图2所示的电子设备100的用于监听应用程序卸载的方法的流程图。所述方法有关的流过程定义的方法步骤可以由所述处理器113实现。下面将对图3所示的具体流程进行详细阐述。
步骤S111,在所述应用程序210安装到所述电子设备100后,初始化该应用程序210的进程。所应说明的是,在其它实施例中,所述步骤S111对所述应用程序210的进程进行初始化的步骤也可省略,流程直接进入步骤S112。
步骤S112,创建一监听进程,以对所述应用程序210的安装目录进行实时监听。
具体地,当所述应用程序210安装到所述电子设备100的过程中,会在所述电子设备100的存储器111中建立一个该应用程序相关联的的文件夹,例如以该应用程序的应用包名称(package name)命名的文件夹,然后,所述电子系统100的操作系统(如Android系统)将该应用程序的安装文件(如APK,AndroidPackage,又称安卓应用包)解压后而产生的各类文件均写入该文件夹中。其中,所述文件夹即为所述应用程序的安装目录。当该应用被卸载后,该文件夹将会被所述操作系统删除。
其次,所述步骤S112中,可通过复制所述应用程序210的进程(又可被称为该应用程序210的主进程)的方式创建所述监听进程。所创建的监听进程与所述应用程序210是平级关系,并非父子关系,所以当所述应用程序210被中止运行或卸载时,所述监听进程的生命周期也不会受所述应用程序210的影响。
本实施例中,以所述电子设备100的操作系统为Android系统为例进行说明。由于Android系统的内核是Linux,因此,实施例可以通过调用Linux中的Fork函数来创建一个与所述应用程序210的进程几乎完全相同的进程,实现对所述应用程序210的进程的复制操作。具体地,在所述应用程序210的进程启动时,可利用Java语言的JNI(Java NativeInterface,Java本地接口)特性,加载所述Android系统的So库,其中,所述应用程序210的卸载监听功能都在所述So库中实现。在加载所述So库后的第一时间,所述步骤S112可调用所述Linux中的Fork函数来创建所述监听进程。
也就是说,在所述应用程序210的进程成功启动后,调用Fork函数对该应用程序210的进程(主进程)进行复制,从创建一新的进程,该新的进程即为所述监听进程。
此外,另一实施例中,在所述步骤S112中,可进一步为所述监听进程分配一地址空间。其中,为该监听进程分配的地址空间与所述应用程序的主进程具有的地址空间不相同,即为所述监听进程分配了一个新的地址空间。
步骤S113,通过所述监听进程实时监听所述应用程序的安装目录是否被删除。如果监听到所述安装目录被删除,流程进入步骤S114,否则流程停留在该步骤S113,继续对所述安装目录进行监听。
在一优选实施例中,所述监听进程可使用Linux系统的一个内核特性,调用inotify_rm_watch函数来监听所述应用程序210安装目录的变化来实现对所述安装目录的删除事件的监听。具体地,所述监听进程是利用Linux中的Inotify接口(即位于Linux系统内核层(Kernel层)的Inotify接口),在所述应用程序210的安装目录被删除的情况下,所述电子设备100的操作系统中的应用层可以立刻接收到所述Inotify接口的反馈,从而可以及时获知所述安装目录是否被删除。
所述监听进程可每隔一定时间(500毫秒或1秒)调用一次所述inotify_rm_watch函数对所述应用程序210的安装目录是否被删除进行监听。
步骤S114,间隔一预定时间(如10秒或15秒)之后监听所述安装目录是否被重建。若监听到所述安装目录被重建,流程返回步骤S113,否则,流程进入步骤S115。
具体地,经过实际测试及长期的验证发现,在所述电子设备100使用第三方软件对所述应用程序210的缓存进行清除时,会出现所述应用程序210的安装目录的删除和重建操作。因此,本实施例中,为了避免所述清除缓存的操作被错误的判定为所述应用程序210的卸载操作,在所述步骤S113判断所述安装目录被删除后,间隔所述预定时间对该安装目录是否被重建进行判断,以提高卸载监听的准确率。本实施例中,在步骤S114中对所述安装目录是否被重建的监听方法与所述步骤S113中描述的方法相同或相似,此处不再赘述。
步骤S115,判定所述应用程序210被所述电子装置100卸载,并将所述应用程序210的卸载信息反馈给所述服务器200。
具体地,一实施例中,经过所述步骤S113以及S114两个步骤,当监听到所述安装目录已经被删除了,证明所述应用程序210已经在所述电子设备100中被卸载了。这时,需要收集所述应用程序210有关的卸载信息。所述卸载信息可以包括,但不限于,所述电子设备100的设备型号、所使用的操作系统的版本信息、用户对所述应用程序210的使用日志等。
在一优选实施例中,若所述电子设备100的操作系统为Android系统,由于Linux内核没有直接供http(超文本传输协议,HyperText Transfer Protocol)访问的库,在本实施例中,可使用Linux系统下的socket(套接字)编程的方式来模拟http请求格式来访问预设的URL(Uniform Resoure Locator,统一资源定位符)地址,并把所述卸载信息的相关参数带上,最终通过该URL地址实现将所述卸载信息反馈给所述服务器200的目的。此外,通过模拟http请求格式来访问预设的url(Uniform Resoure Locator,统一资源定位符)地址的动作是在系统后台执行,不会显示相关信息(如弹出网页)给用户。
在另一实施例中,若所述电子设备100使用的是其它操作系统,其具有供http(超文本传输协议,HyperText Transfer Protocol)访问的库,可调用所述电子设备100的浏览器(Browser)来触发反馈信息调查的过程。具体地,在所述步骤S115中,可在浏览器的调用过程中,将反馈信息调查页面的URL地址一并提供给浏览器,使浏览器访问相应的网页。最后通过该网页提示用户简单填写相应的卸载信息后再将该卸载信息反馈给所述服务器200。
请参阅图4,是本发明较佳实施例提供的图2所示的监听系统110的功能模块框图。所述监听系统包括初始化模块1101、进程创建模块1102、第一监听模块1103、第二监听模块1104以及信息反馈模块1105。
所述初始化模块1101用于在所述应用程序210安装到所述电子设备100后,初始化该应用程序210的进程。
所述进程创建模块1102用于创建一监听进程,以对所述应用程序210的安装目录进行实时监听。具体地,当所述应用程序210安装到所述电子设备100的过程中,会在所述电子设备100的存储器111中建立一个该应用程序相关联的的文件夹,例如以该应用程序的应用包名称(package name)命名的文件夹,然后,所述电子系统100的操作系统(如Android系统)将该应用程序的安装文件(如APK,AndroidPackage,又称安卓应用包)解压后而产生的各类文件均写入该文件夹中。其中,所述文件夹即为所述应用程序的安装目录。当该应用被卸载后,该文件夹将会被所述操作系统删除。
所述进程创建模块1102可通过复制所述应用程序210的进程(又可被称为该应用程序210的主进程)的方式创建所述监听进程。所创建的监听进程与所述应用程序210是平级关系,并非父子关系,所以当所述应用程序210被中止运行或卸载时,所述监听进程的生命周期也不会受所述应用程序210的影响。
本实施例中,以所述电子设备100的操作系统为Android系统为例进行说明。由于Android系统的内核是Linux,因此,所述进程创建模块1102可以通过调用Linux中的Fork函数来创建一个与所述应用程序210的进程几乎完全相同的进程,实现对所述应用程序210的进程的复制操作。具体地,在所述应用程序210的进程启动时,可利用Java语言的JNI(JavaNative Interface,Java本地接口)特性,加载所述Android系统的So库,其中,所述应用程序210的卸载监听功能都在所述So库中实现。在加载所述So库后的第一时间,所述进程创建模块1102可调用所述Linux中的Fork函数来创建所述监听进程。
也就是说,在所述应用程序210的进程成功启动后,调用Fork函数对该应用程序210的进程(主进程)进行复制,从创建一新的进程,该新的进程即为所述监听进程。
此外,另一实施例中,所述进程创建模块1102可进一步为所述监听进程分配一地址空间。其中,为该监听进程分配的地址空间与所述应用程序的主进程具有的地址空间不相同。也即,所述进程创建模块1102为所述监听进程分配了一个新的地址空间。
所述第一监听模块1103用于使用所述监听进程实时监听所述应用程序的安装目录是否被删除。在一优选实施例中,所述监听进程可使用Linux系统的一个内核特性,调用inotify_rm_watch函数来监听所述应用程序210安装目录的变化来实现对所述安装目录的删除事件的监听。具体地,所述监听进程是利用Linux中的Inotify接口(即位于Linux系统内核层(Kernel层)的Inotify接口),在所述应用程序210的安装目录被删除的情况下,所述电子设备100的操作系统中的应用层可以立刻接收到所述Inotify接口的反馈,从而可以及时获知所述安装目录是否被删除。
所述监听进程可每隔一定时间(500毫秒或1秒)调用一次所述inotify_rm_watch函数对所述应用程序210的安装目录是否被删除进行监听。
所述第二监听模块1104用于在所述第一监听模块1103监听到所述安装目录被删除后,间隔一预定时间(如10秒或15秒)后监听所述安装目录是否被重建。
具体地,经过实际测试及长期的验证发现,在所述电子设备100使用第三方软件对所述应用程序210的缓存进行清除时,会出现所述应用程序210的安装目录的删除和重建操作。因此,本实施例中,为了避免所述清除缓存的操作被错误的判定为所述应用程序210的卸载操作,在所述第一监听模块1103判断所述安装目录被删除后,间隔所述一定时间对该安装目录是否被重建进行判断,以提高卸载监听的准确率。本实施例中,所述第二监听模块1104对所述安装目录是否被重建的监听方法与所述第一监听模块1103监听安装目录是否被删除的方法相同或相似,此处不再赘述。
所述信息反馈模块1105用于在监听到所述安装目录没有被重建时,判定所述应用程序210已被所述电子装置100卸载,然后将所述应用程序210的卸载信息反馈给所述服务器200。所述卸载信息可以包括,但不限于,所述电子设备100的设备型号、所使用的操作系统的版本信息、用户对所述应用程序210的使用日志等。
在一优选实施例中,若所述电子设备100的操作系统为Android系统,由于Linux内核没有直接供http(超文本传输协议,HyperText Transfer Protocol)访问的库,在本实施例中,可使用Linux系统下的socket(套接字)编程的方式来模拟http请求格式来访问预设的URL(Uniform Resoure Locator,统一资源定位符)地址,并把所述卸载信息的相关参数带上,最终达到将所述卸载信息反馈给所述服务器200的目的。此外,通过模拟http请求格式来访问预设的url(Uniform Resoure Locator,统一资源定位符)地址的动作是在系统后台执行,不会显示相关信息(如弹出网页)给用户。
在另一实施例中,若所述电子设备100使用的是其它操作系统,其具有供http(超文本传输协议,HyperText Transfer Protocol)访问的库,可调用所述电子设备100的浏览器(Browser)来触发反馈信息调查的过程。具体地,在所述步骤S115中,可在浏览器的调用过程中,将反馈信息调查页面的URL地址一并提供给浏览器,使浏览器访问相应的网页。最后通过该网页提示用户简单填写相应的卸载信息后再将该卸载信息反馈给所述服务器200。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (15)
1.一种监听应用程序卸载的方法,其特征在于,所述方法包括:
创建一监听进程,以对所述应用程序的安装目录进行实时监听;
通过所述监听进程监听所述应用程序的安装目录是否被删除;
在监听到所述应用程序的安装目录被删除时,间隔一预定时间之后监听所述安装目录是否被重建:以及
在间隔所述预定时间之后未监听到所述安装目录被重建时,判定所述应用程序己被电子装置卸载。
2.如权利要求1所述的方法,其特征在于,所述创建一监听进程的步骤包括:调用Linux中用于复制所述应用程序的进程的函数创建所述监听进程。
3.如权利要求1所述的方法,其特征在于,所述监听进程调用位于Linux系统内核层用于对所述应用程序的安装目录进行监听的接口确认所述安装目录是否被删除。
4.如权利要求1所述的方法,其特征在于,所述监听进程每隔一定时间对所述应用程序的安装目录是否被删除进行一次监听。
5.如权利要求1所述的方法,其特征在于,所述监听进程被分配一地址空间,该地址空间与所述应用程序的进程的地址空间不相同。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
在判定所述应用程序己被所述电子装置卸载时,将所述应用程序的卸载信息反馈给一服务器。
7.如权利要求6所述的方法,其特征在于,所述将所述应用程序的卸载信息反馈给一服务器的步骤包括:
模拟http请求格式来访问预设的URL地址,通过该URL地址将所述卸载信息反馈给所述服务器。
8.一种用于监听应用程序卸载的系统,其特征在于,所述系统包括:
进程创建模块,用于创建一监听进程,以对所述应用程序的安装目录进行实时监听;
第一监听模块,用于通过所述监听进程监听所述应用程序的安装目录是否被删除:
第二监听模块,用于在监听到所述应用程序的安装目录被删除时,间隔一预定时间之后监听所述安装目录是否被重建;以及
信息反馈模块,用于在间隔所述预定时间之后未监听到所述安装目录被重建时,判定所述应用程序己被电子装置卸载。
9.如权利要求8所述的系统,其特征在于,所述进程创建模块通过调用Linux中的用于复制所述应用程序的进程的函数创建所述监听进程。
10.如权利要求8所述的系统,其特征在于,所述监听进程调用位于Linux系统内核层的用于对所述应用程序的安装目录进行监听的接口确认所述安装目录是否被删除。
11.如权利要求8所述的系统,其特征在于,所述监听进程每隔一定时间对所述应用程序的安装目录是否被删除进行一次监听。
12.如权利要求8所述的系统,其特征在于,所述监听进程被分配一地址空间,该地址空间与所述应用程序的进程的地址空间不相同。
13.如权利要求8所述的系统,其特征在于,所述信息反馈模块还用于将所述应用程序的卸载信息反馈给一服务器。
14.如权利要求13所述的系统,其特征在于,所述信息反馈模块通过模拟h七tp请求格式来访问预设的URL地址,通过该URL地址将所述卸载信息反馈给所述服务器。
15.一种电子设备,其特征在于,所述电子设备包括:
存储器;
处理器;及
用于监听应用程序卸载的系统,所述系统安装于所述存储器中并包括一个或多个由所述处理器执行的软件功能模块,所述系统包括:
进程创建模块,用于创建一监听进程,以对所述应用程序的安装目录进行实时监听;
第一监听模块,用于通过所述监听进程监听所述应用程序的安装目录是否被删除:
第二监听模块,用于在监听到所述应用程序的安装目录被删除时,间隔一预定时间之后监听所述安装目录是否被重建;以及
信息反馈模块,用于在间隔所述预定时间之后未监听到所述安装目录被重建时,判定所述应用程序己被电子装置卸载。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610016785.0A CN106959867B (zh) | 2016-01-08 | 2016-01-08 | 用于监听应用程序卸载的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610016785.0A CN106959867B (zh) | 2016-01-08 | 2016-01-08 | 用于监听应用程序卸载的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106959867A CN106959867A (zh) | 2017-07-18 |
CN106959867B true CN106959867B (zh) | 2020-10-27 |
Family
ID=59481251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610016785.0A Active CN106959867B (zh) | 2016-01-08 | 2016-01-08 | 用于监听应用程序卸载的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106959867B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062579B (zh) * | 2018-06-21 | 2021-07-20 | 上海二三四五网络科技有限公司 | 一种快速卸载应用程序的控制方法及控制装置 |
CN110413474A (zh) * | 2019-06-18 | 2019-11-05 | 深圳壹账通智能科技有限公司 | 应用程序监控方法、装置、电子设备及存储介质 |
CN116541253B (zh) * | 2023-07-07 | 2024-03-26 | 深圳软牛科技有限公司 | 应用的检测方法、系统、终端设备和可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120117127A1 (en) * | 2010-11-08 | 2012-05-10 | Macdonald Carl | Apparatus and methods for improving uninstall process |
CN103746782A (zh) * | 2013-12-25 | 2014-04-23 | 北京奇虎科技有限公司 | 获取应用的反馈信息的方法和装置 |
CN103761178A (zh) * | 2014-01-17 | 2014-04-30 | 北京奇虎科技有限公司 | 一种实现应用卸载调查的方法 |
CN104008034A (zh) * | 2014-05-12 | 2014-08-27 | 可牛网络技术(北京)有限公司 | 监听软件被卸载的方法和装置 |
-
2016
- 2016-01-08 CN CN201610016785.0A patent/CN106959867B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120117127A1 (en) * | 2010-11-08 | 2012-05-10 | Macdonald Carl | Apparatus and methods for improving uninstall process |
CN103746782A (zh) * | 2013-12-25 | 2014-04-23 | 北京奇虎科技有限公司 | 获取应用的反馈信息的方法和装置 |
CN103761178A (zh) * | 2014-01-17 | 2014-04-30 | 北京奇虎科技有限公司 | 一种实现应用卸载调查的方法 |
CN104008034A (zh) * | 2014-05-12 | 2014-08-27 | 可牛网络技术(北京)有限公司 | 监听软件被卸载的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106959867A (zh) | 2017-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107247601B (zh) | 开发流程优化方法、装置及存储介质 | |
US11762763B2 (en) | Orchestration for automated performance testing | |
TWI671677B (zh) | 交互處理方法及裝置 | |
CN107844243B (zh) | 云桌面触摸屏实现方法及装置 | |
WO2015062389A1 (zh) | 一种终端设备卸载系统应用的方法和装置 | |
US9535666B2 (en) | Dynamic agent delivery | |
US11361149B2 (en) | Techniques for web framework detection | |
CN107729452B (zh) | 网页加载方法、装置、电子设备及计算机可读存储介质 | |
US20130047148A1 (en) | Automated service solution delivery | |
CN106959867B (zh) | 用于监听应用程序卸载的方法及系统 | |
US9378054B2 (en) | Testing system with methodology for background application control | |
US20130081010A1 (en) | Template and server content download using protocol handlers | |
WO2019114158A1 (zh) | 实时动画显示方法、装置、电子终端及可读存储介质 | |
CN104598267A (zh) | 应用的调起方法及装置 | |
US9971611B2 (en) | Monitoring a mobile device application | |
US10193737B2 (en) | Method for performing communication between browser and mobile terminal, and browser apparatus | |
CN104598268A (zh) | 应用的处理方法及装置 | |
CN111506904B (zh) | 漏洞在线修复的方法和装置 | |
US20210133261A1 (en) | Using web application components with different web application frameworks in a web application | |
CN107341038B (zh) | 兼容性处理方法、装置及电子设备 | |
CN109104481B (zh) | 文件完整性检测方法、文件完整性检测装置及终端设备 | |
US20230065440A1 (en) | Method and apparatus for managing application | |
CN111124627A (zh) | 应用程序的调起者确定方法、装置、终端及存储介质 | |
CN112379943A (zh) | Electron应用程序的插件应用方法及装置、存储介质 | |
CN111931083B (zh) | 网页加载方法、装置、终端设备以及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200612 Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Alibaba (China) Co.,Ltd. Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping square B radio tower 15 layer self unit 02 Applicant before: GUANGZHOU UC NETWORK TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |