CN103365544B - 移动电子设备使用状态的检测方法、装置及电子设备 - Google Patents
移动电子设备使用状态的检测方法、装置及电子设备 Download PDFInfo
- Publication number
- CN103365544B CN103365544B CN201310316962.3A CN201310316962A CN103365544B CN 103365544 B CN103365544 B CN 103365544B CN 201310316962 A CN201310316962 A CN 201310316962A CN 103365544 B CN103365544 B CN 103365544B
- Authority
- CN
- China
- Prior art keywords
- view
- use state
- project
- detected
- sub
- 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
Landscapes
- Telephone Function (AREA)
Abstract
本发明公开了一种移动电子设备使用状态的检测方法,该检测方法包括步骤:接收使用状态检测指令,该指令中包含要检测使用状态的项目;响应该使用状态检测指令,获取移动电子设备状态栏的View视图;根据使用状态检测指令中包含要检测使用状态的项目,从移动电子设备状态栏的View视图中,查找要检测使用状态的项目对应的子View视图;从查找到的子View视图中,获取要检测使用状态的项目的当前参数值;将获取的使用状态的项目的当前参数值输出给用户。本发明同时公开了与上述检测方法对应的检测装置及移动电子设备。应用本发明,相对于现有技术通过调用系统内部API函数获得参数值的方法,能够提高移动电子设备使用状态检测的精确度。
Description
技术领域
本发明涉及移动电子设备的检测技术,特别涉及一种移动电子设备使用状态的检测方法、装置及电子设备。
背景技术
目前,很多的移动电子设备都提供了对自身使用状态进行检测的功能。例如:对电池电量进行检测、对Wi-Fi使用情况进行检测、对蓝牙使用情况进行检测等等。这些项目的检测结果一般通过移动电子设备的状态栏显示给用户,从而使用户了解移动电子设备当前的使用状态。
通常,状态栏中的检测结果是通过底层直接获得的参数值,能够比较精确地体现被检测项目当前的使用状态。
在很多情况下,用户正在使用某些应用程序时,移动电子设备是不显示状态栏的,用户就无法获知移动电子设备当前的使用状态。为了使用户在使用不显示状态栏的应用程序时,也能获知使用状态,现有技术通过调用移动电子设备自身的操作系统内部提供的API(Application ProgrammingInterface,应用程序编程接口)函数来获取使用状态的参数值,再通过当前使用的应用程序的相关界面显示给用户。
例如:在用户使用某不显示状态栏的应用程序时,对电池电量进行检测,以获取移动电子设备电池电量的使用状态,通常会直接调用操作系统内部提供的电池电量使用状态的API函数,来获取当前电池电量的使用状态参数值输出给用户。这种方式比较轻松、便捷。
然而,在实施现有技术的过程中,发明人发现现有技术至少存在以下问题:
由于通过操作系统内部提供的电池电量使用状态的API函数,获取的当前电池电量的使用状态参数值,不是直接从底层直接获取的,而是对从底层获取的电池电量的使用状态参数值进行了处理,例如:进行了四舍五入等处理后获取的,这使得获取的当前电池电量的使用状态的检测结果不够精确,具有一定的误差,与状态栏中的检测结果相比,通常误差在5%左右。
这种数值误差会使得移动电子设备用户在使用某些不显示状态栏的应用程序时,对移动电子设备当前电池电量的认知存在偏差,进而不能准确的预估电池的使用时间,对用户造成一定的不便。
同理,在用户使用某些不显示状态栏的应用程序时,对Wi-Fi使用情况进行检测、对蓝牙使用情况进行检测等,由于也调用移动电子设备自身的操作系统内部提供的API来获取使用状态的参数值,而且这些API获取的参数值也是经过处理的。因此,同样会有一定的误差,也有检测结果不够精确的缺点。
发明内容
有鉴于此,本发明实施例的目的在于提供一种移动电子设备使用状态的检测方法、装置及电子设备,以提高使用状态检测的精确度。
为达到上述目的,本发明实施例公开了一种移动电子设备使用状态的检测方法,包括步骤:
接收使用状态检测指令,该指令中包含要检测使用状态的项目;
响应该使用状态检测指令,获取移动电子设备状态栏的View视图;
根据使用状态检测指令中包含要检测使用状态的项目,从移动电子设备状态栏的View视图中,查找要检测使用状态的项目对应的子View视图;
从查找到的子View视图中,获取要检测使用状态的项目的当前参数值;
将获取的使用状态的项目的当前参数值输出给用户。
较佳地,所述从移动电子设备状态栏的View视图中,查找要检测使用状态的项目对应的子View视图,包括:
根据使用状态检测指令中包含的要检测使用状态的项目,遍历移动电子设备状态栏View视图中所有的子View视图,获取其中各个子View视图的类名,根据类名中是否包含要检测使用状态的项目对应的关键词,确定是否为要检测使用状态的项目对应的子View视图。
较佳地,所述从移动电子设备状态栏的View视图中,查找要检测使用状态的项目对应的子View视图,包括:
根据使用状态检测指令中包含的要检测使用状态的项目,遍历移动电子设备状态栏View视图中所有的子View视图,获取其中各个子View视图数据中的内部成员变量,根据是否包含要检测使用状态的项目对应的内部成员变量,确定是否为要检测使用状态的项目对应的子View视图。
较佳地,所述从查找到的子View视图中,获取要检测使用状态的项目的当前参数值,包括:
对查找到的子View视图进行截图,对所截取的图像进行图像识别,获取要检测使用状态的项目的当前参数值。
较佳地,预先根据各个子View视图的显示规则,确定各个使用状态项目的当前参数在子View视图中的位置;
所述对所截取的图像进行图像识别,获取要检测使用状态的项目的当前参数值,包括:
对要检测使用状态的项目,根据所述各个使用状态项目的当前参数在子View视图中的位置,确定要检测使用状态项目的当前参数在子View视图中的位置;
对该位置的图像进行识别,识别出要检测使用状态的项目的当前参数值。
较佳地,所述从查找到的子View视图中,获取要检测使用状态的项目的当前参数值,包括:
读取查找到的子View视图数据中的成员变量,获取要检测使用状态的项目对应的成员变量的当前参数值。
较佳地,该检测方法还包括:在获取移动电子设备状态栏的View视图时,判断是否获取到状态栏的View视图,和在查找要检测使用状态的项目对应的子View视图时,判断是否查找到要检测使用状态的项目对应的子View视图;
当未获取移动电子设备状态栏的View视图或未查找到要检测使用状态的项目对应的子View视图时,调用要检测使用状态的项目的应用程序编程接口,获取要检测使用状态的项目的当前参数值。
较佳地,所述要检测使用状态的项目包括:电池电量、Wi-Fi使用情况、虚拟专用网络使用情况、3G使用情况、设备是否竖排锁定、时间显示格式、蓝牙使用情况和定位功能使用情况中的一种或多种。
本发明实施例还公开了一种移动电子设备使用状态的检测装置,其包括:
指令接收单元,接收使用状态检测指令,该指令中包含要检测使用状态的项目;
指令响应单元,响应该使用状态检测指令,获取移动电子设备状态栏的View视图;
子View视图查找单元,根据使用状态检测指令中包含要检测使用状态的项目,从移动电子设备状态栏的View视图中,查找要检测使用状态的项目对应的子View视图;
参数值获取单元,从查找到的子View视图中,获取要检测使用状态的项目的当前参数值;
参数值输出单元,将获取的使用状态的项目的当前参数值输出给用户。
较佳地,所述子View视图查找单元,包括:第一状态栏View视图遍历子单元;
所述第一状态栏View视图遍历子单元,根据使用状态检测指令中包含的要检测使用状态的项目,遍历移动电子设备状态栏View视图中所有的子View视图,获取其中各个子View视图的类名,根据类名中是否包含要检测使用状态的项目对应的关键词,确定是否为要检测使用状态的项目对应的子View视图。
较佳地,所述子View视图查找单元,包括:第二状态栏View视图遍历子单元;
所述第二状态栏View视图遍历子单元,根据使用状态检测指令中包含的要检测使用状态的项目,遍历移动电子设备状态栏View视图中所有的子View视图,获取其中各个子View视图数据中的内部成员变量,根据是否包含要检测使用状态的项目对应的内部成员变量,确定是否为要检测使用状态的项目对应的子View视图。
较佳地,所述参数值获取单元包括:截图子单元和图像识别子单元;
所述截图子单元,对查找到的子View视图进行截图;
所述图像识别子单元,对所截取的图像进行图像识别,获取要检测使用状态的项目的当前参数值。
较佳地,所述图像识别子单元,对要检测使用状态的项目,根据预先确定的各个使用状态项目的当前参数在子View视图中的位置,确定要检测使用状态项目的当前参数在子View视图中的位置;对该位置的图像进行识别,识别出要检测使用状态的项目的当前参数值。
较佳地,所述参数值获取单元为:参数值读取单元;
所述参数值读取单元,读取查找到的子View视图数据中的成员变量,获取要检测使用状态的项目对应的成员变量的当前参数值。
较佳地,该检测装置还包括:第一判断单元、第二判断单元和应用程序编程接口调用单元;
所述第一判断单元,在获取移动电子设备状态栏的View视图时,判断是否获取到状态栏的View视图;
所述第二判断单元,在查找要检测使用状态的项目对应的子View视图时,判断是否查找到要检测使用状态的项目对应的子View视图;
所述应用程序编程接口调用单元,当未获取移动电子设备状态栏的View视图或未查找到要检测使用状态的项目对应的子View视图时,调用要检测使用状态的项目的应用程序编程接口,获取要检测使用状态的项目的当前参数值。
本发明实施例还公开了一种移动电子设备,包括存储器、处理器和数据输出部件;
所述存储器,存储移动电子设备状态栏的View视图和该View视图的所有子View视图及其数据;
所述处理器,接收使用状态检测指令,该指令中包含要检测使用状态的项目;响应该使用状态检测指令,获取移动电子设备状态栏的View视图;根据所述使用状态检测指令中包含要检测使用状态的项目,从移动电子设备状态栏的View视图中,查找要检测使用状态的项目对应的子View视图;从查找到的子View视图中,获取要检测使用状态的项目的当前参数值;
所述数据输出部件,将获取的使用状态的项目的当前参数值输出给用户。
由上述的技术方案可见,本发明实施例提供的这种移动电子设备使用状态的检测方法、装置及电子设备,先从移动电子设备状态栏的View视图中,查找要检测使用状态的项目对应的子View视图,再从查找到的子View视图中,获取要检测使用状态的项目的当前参数值,输出给用户。由于本发明实施例是从子View视图中获取的要检测使用状态的项目的当前参数值,这些参数值是从底层获得的,没有经过四舍五入或其他可能带来误差的运算处理。因此,相对于现有技术通过调用系统内部API函数获得参数值的方法,检测精确度有所提高。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获取其他的附图。
图1为根据本发明实施例的一种使用状态的检测方法流程图;
图2为根据本发明实施例的另一种使用状态的检测方法流程图;
图3为根据本发明实施例的再一种使用状态的检测方法流程图;
图4为根据本发明实施例的一种使用状态的检测装置结构示意图;
图5为根据本发明实施例的另一种使用状态的检测装置结构示意图;
图6为根据本发明实施例的再一种使用状态的检测装置结构示意图;
图7为根据本发明实施例的一种移动电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种移动电子设备使用状态的检测方法、装置及移动电子设备,通过移动电子设备状态栏的View视图,来获取要检测使用状态的当前参数值。
以下,对移动电子设备使用状态的检测方法及装置分别举具体实施例进行详细说明。
首先,对本发明实施例提供的移动电子设备使用状态的检测方法进行详细说明。
参见图1,根据本发明实施例的一种使用状态的检测方法包括步骤:
步骤101,接收使用状态检测指令。
本实施例中,使用状态检测指令中包含要检测使用状态的项目。例如:电池电量、Wi-Fi使用情况、虚拟专用网络(Virtual Private Network,VPN)使用情况、3G使用情况、设备是否竖排锁定、时间显示格式、蓝牙使用情况和定位功能使用情况中的一种或多种。
实际应用中,可以在移动电子设备中设置定时自动生成使用状态检测指令,也可以通过选项界面接收用户发起的使用状态检测指令。该指令中,可以包括一个要检测使用状态的项目,也可以包括多个要检测使用状态的项目。
步骤102,响应该使用状态检测指令,获取移动电子设备状态栏的View视图。
本步骤可以通过移动电子设备调用获取状态栏的View视图的API函数来实现。该API函数是现有技术常用的API。
步骤103,从移动电子设备状态栏的View视图中,查找要检测使用状态的项目对应的子View视图。
通常,在移动电子设备状态栏的View视图中包含了一个或多个子View视图,每个子View视图对应一个使用状态的项目。
例如:电池电量的子View视图对应电池电量的使用状态、Wi-Fi使用情况子View视图对应Wi-Fi使用状态、蓝牙使用情况子View视图对应蓝牙使用情况、VPN使用情况的子View视图对应VPN的使用状态等等。
本步骤中,可以根据使用状态检测指令中包含的要检测使用状态的项目,在移动电子设备状态栏的View视图中进行查找。具体地,可以通过以下两种方式进行查找:
方式一、遍历移动电子设备状态栏View视图中所有的子View视图,获取其中各个子View视图的类名,根据类名中是否包含要检测使用状态的项目对应的关键词,确定是否为要检测使用状态的项目对应的子View视图。
例如:要检测使用状态的项目是电池电量。则遍历移动电子设备状态栏View视图中所有的子View视图,通过移动电子设备操作系统提供的API函数(例如object_getClassName),获取子View视图的类名,判断该子View视图的类名是否包含“battery”或者“percent”,如果不包含,则该子View视图不是要检测使用状态的项目对应的子View视图。其中,“battery”或者“percent”就是电池电量项目的关键词。
对于其他要检测使用状态的项目也一样,只是关键词不同,例如:要检测使用状态的项目是Wi-Fi使用情况,可以判断类名中是否包含“UIStatusBarDataNetworkItem”。如果要检测使用状态的项目是蓝牙使用情况,可以判断类名中是否包含“UIStatusBarBluetoothItem”等等。
方式二、遍历移动电子设备状态栏View视图中所有的子View视图,获取其中各个子View视图数据中的内部成员变量,根据是否包含要检测使用状态的项目对应的内部成员变量,确定是否为要检测使用状态的项目对应的子View视图。
例如:要检测使用状态的项目是电池电量。则遍历移动电子设备状态栏View视图中所有的子View视图,通过移动电子设备操作系统提供的API函数(例如object_getInstanceVariable),获取子View视图的内部成员变量,判断该子View视图数据中是否存在内部成员变量“capacity”或者“percentString”,若不包含,则该子View视图不是要检测使用状态的项目对应的子View视图。其中:“capacity”或者“percentString”就是要检测使用状态的项目对应的内部成员变量。
对于其他要检测使用状态的项目也一样,只是对应的内部成员变量不同,例如:要检测使用状态的项目是Wi-Fi使用情况,内部成员变量可以为“wifiStrengthRaw”或者“wifiStrengthBars”。
上述两种方式都可以通过调用不同的操作系统API函数来实现。
另外,对于VPN、3G、设备是否竖排锁定、时间显示格式、蓝牙和定位功能的使用情况等检测项目,也采取同样的方式进行判断,具体的类名和内部成员变量,本领域技术人员都能够用现有技术方式获知,这里不再赘述。
通过上述两种方式查找要检测使用状态的项目对应的子View视图,查找结果准确,而且实现起来也很方便。
步骤104,从查找到的子View视图中,获取要检测使用状态的项目的当前参数值。
本步骤可以通过多种方式来实现,例如:直接读取子View视图数据中的成员变量来实现,也可以通过对子View视图进行截图后,对所截取的图像进行图像识别来实现。
步骤105,将获取的使用状态的项目的当前参数值输出给用户。
本实施例主要应用于移动电子设备的用户在使用不显示状态的应用程序时的情况。本步骤可以与现有技术相同,通过用户正在使用的应用程序的相关界面来显示所获取的使用状态的当前参数,实现将检测结果输出给用户。
本实施例中,由于从子View视图中获取要检测使用状态的项目的参数值,而这些参数值是直接从底层获得的,没有经过四舍五入或其他可能带来误差的运算处理。因此,相对于现有技术通过调用系统内部API函数获得的参数值,精确度有所提高。
参见图2,根据本发明实施例的另一种使用状态的检测方法包括步骤:
步骤201,接收使用状态检测指令。
步骤202,响应该使用状态检测指令,获取移动电子设备状态栏的View视图。
本实施例中的步骤201和步骤202可以与图1所示步骤101和102完全相同,这里不再重复。
步骤203,判断是否获取到状态栏View视图,如果是,则执行步骤204;否则执行步骤207。
由于步骤202可以通过移动电子设备调用获取状态栏的View视图的API函数来实现。因此,本步骤中,就是通过判断调用的API函数是否返回了有效的结果,如果不是,则没有获取到状态栏的View视图。
步骤204,根据使用状态检测指令中包含的要检测使用状态的项目,遍历移动电子设备状态栏中所有的子View视图。
步骤205,判断是否查找到要检测的使用状态对应的子View视图,如果是,则执行步骤206;否则,执行步骤207。
本实施例中,也可以采用实施例一中介绍的两种方式来查找要检测的使用状态对应的子View视图,并判断是否查找到要检测的使用状态对应的子View视图。
步骤206,对查找到的子View视图进行截图,对所截取的图像进行图像识别,获取要检测使用状态的项目的当前参数值;执行步骤208。
本实施例中,为了保证图像识别的准确性,预先根据各个子View视图的显示规则,确定各个使用状态项目的当前参数在子View视图中的位置。
这样,在进行图像识别时,就可以先针对要检测使用状态的项目,根据所述各个使用状态项目的当前参数在子View视图中的位置,确定要检测使用状态项目的当前参数在子View视图中的位置,然后对该位置的图像进行识别,从而识别出要检测使用状态的项目的当前参数值。
例如:要检测使用状态的项目是电池电量,本实施例中,就可以预先设置好电池电量的参数值在对应的子View视图中的位置。采用OCR(Optical Character Recognition,光学字符识别)方式,对该位置的图像进行识别,直接获取到电池电量的当前参数值。
步骤207,调用要检测使用状态的项目的应用程序编程接口,获取要检测使用状态项目的当前参数值。
本步骤是一个补充的步骤,未能获取移动电子设备状态栏的View视图或未查找到要检测使用状态的项目对应的子View视图,则执行本步骤。
本步骤可以采用现有技术的方法,通过调用操作系统内部的应用程序编程接口(API)函数,来获取要检测使用状态的项目的当前参数值。
这样处理,能够保证每次检测都能够获取到要检测使用状态的项目的当前参数值。
步骤208,将获取的使用状态的项目的当前参数值输出给用户。
本步骤实现方法可以与图1所示实施例步骤108完全相同,这里不再重复。
参见图3,根据本发明实施例的再一种使用状态的检测方法包括步骤:
步骤301~305,与图2所示步骤201和205完全相同,这里不再重复。
步骤306、读取查找到的子View视图数据中的成员变量,获取要检测使用状态的项目对应的成员变量的当前参数值;执行步骤308。
本实施例中,没有象实施例二那样对查找到的子View视图进行截图和图像识别,而是直接读取子View视图的内部成员变量,获取要检测使用状态的项目对应的成员变量的当前参数值。
例如:要检测使用状态的项目是电池电量,则直接读取子View视图数据中的内部成员变量“capacity”或“percentString”,获取到电池电量的当前参数。
步骤307,调用要检测使用状态的项目的应用程序编程接口,获取要检测使用状态的项目的当前参数值。
本步骤与图2所示实施例中的步骤207完全相同,这里也不再重复。
步骤308,根据当前参数值的数据类型,将获取的使用状态的项目的当前参数值输出给用户。
通常,获取到的使用状态的项目的当前参数值可以有数值型或字符型。如果获取的成员变量的当前参数值为数值型,则直接将该数值型当前参数值输出给用户。如果获取的成员变量的当前参数值为字符型,则将该字符型当前参数值转换为数值型参数值输出给用户。
例如:获取到的是电池电量的参数值,如果读取的内部成员变量“capacity”的参数值是0.9,该变量的参数值是数值型,则该值就是精确的电池电量参数值,可以直接输出给用户。
如果是读取的内部成员变量“percentString”的参数值是“90%”,该变量的参数值是一个字符类型的变量,其中符号“%”之前部分即为电池电量的精确值,所以将符号“%”过滤之后,将字符“90”转换成数值型0.9,即是精确的电池电量参数值,将该值输出给用户。
当然,具体输出何种格式的参数值可以预先设置,如果是要输出数值,则直接将0.9输出给用户即可;如果要输出百分比的格式,则将再0.9转换为90%输出给用户即可。
本实施例中,对于获取的字符型的检测结果,也是从底层获得的,也没有经过四舍五入或其他可能带来误差的运算处理。因此,相对现有技术通过调用系统内部API函数获得的参数值,也能够提高使用状态检测的精确度。
与前两个实施例相同,本实施例中,也是通过用户正在使用的应用程序的相关界面来显示所获取的使用状态的当前参数,实现将检测结果输出给用户。例如:在移动电子设备的当前界面上的预定位置上显示电池电量的当前参数。
上述三个实施例的检测方法,对一次检测使用状态的过程进行了详细说明,在实际应用中,如果需要实现实时检测,只要在获得检测结果后,返回循环执行获取移动电子设备状态栏的View视图,并执行后续步骤即可。如果需要实现定时检测,可以定时生成使用状态检测指令,并执行后续步骤即可。
以下对本发明实施例提供的移动电子设备使用状态的检测装置进行详细说明。
参见图4,根据本发明实施例的一种使用状态的检测装置包括:指令接收单元410、指令响应单元420、子View视图查找单元430、参数值获取单元440和参数值输出单元450。
其中,所述指令接收单元410,接收使用状态检测指令,该指令中包含要检测使用状态的项目。
所述指令响应单元420,响应该使用状态检测指令,获取移动电子设备状态栏的View视图。
所述子View视图查找单元430,根据使用状态检测指令中包含要检测使用状态的项目,从移动电子设备状态栏的View视图中,查找要检测使用状态的项目对应的子View视图。
所述参数值获取单元440,从查找到的子View视图中,获取要检测使用状态的项目的当前参数值。
所述参数值输出单元450,将获取的使用状态的项目的当前参数值输出给用户。
本实施例可以用于实现上述使用状态的检测方法的第一种实施例。
参见图5,根据本发明实施例的另一种使用状态的检测装置包括:指令接收单元510、指令响应单元520、子View视图查找单元530、参数值获取单元540、参数值输出单元550、第一判断单元560、第二判断单元570和应用程序编程接口调用单元580。
其中,所述指令接收单元510,接收使用状态检测指令,该指令中包含要检测使用状态的项目。
所述指令响应单元520,响应该使用状态检测指令,获取移动电子设备状态栏的View视图。
所述第一判断单元560,在获取移动电子设备状态栏的View视图时,判断是否获取到状态栏的View视图。
所述子View视图查找单元530,包括:状态栏View视图遍历子单元531。该状态栏View视图遍历子单元531,在第一判断单元560判断获取了移动电子设备状态栏的View视图后,根据使用状态检测指令中包含的要检测使用状态的项目,遍历移动电子设备状态栏View视图中所有的子View视图,查找到要检测使用状态的项目对应的子View视图。
具体实现时,本实施例中的状态栏View视图遍历子单元531可以为:第一状态栏View视图遍历子单元或者第二状态栏View视图遍历子单元。
所述第一状态栏View视图遍历子单元,遍历移动电子设备状态栏View视图中所有的子View视图,获取其中各个子View视图的类名,根据类名中是否包含要检测使用状态的项目对应的关键词,确定是否为要检测使用状态的项目对应的子View视图。
所述第二状态栏View视图遍历子单元,遍历移动电子设备状态栏View视图中所有的子View视图,获取其中各个子View视图的内部成员变量,根据是否包含要检测使用状态的项目对应的内部成员变量,确定是否为要检测使用状态的项目对应的子View视图。
所述第二判断单元570,在查找要检测使用状态的项目对应的子View视图时,判断是否查找到要检测使用状态的项目对应的子View视图。
所述参数值获取单元540,包括截图子单元541和图像识别子单元542。其中,截图子单元541,在第一判断单元570判断查找到了要检测使用状态的项目对应的子View视图后,对查找到的子View视图进行截图。所述图像识别子单元542,对所截取的图像进行图像识别,获取要检测使用状态的项目的当前参数值。
本实施例中的图像识别子单元542,对要检测使用状态的项目,根据预先确定的各个使用状态项目的当前参数在子View视图中的位置,确定要检测使用状态项目的当前参数在子View视图中的位置;对该位置的图像进行识别,识别出要检测使用状态的项目的当前参数值。
所述应用程序编程接口调用单元580,当第一判断单元560判断出未获取移动电子设备状态栏的View视图,或第二判断单元570判断出未查找到要检测使用状态的项目对应的子View视图时,调用要检测使用状态的项目的应用程序编程接口,获取要检测使用状态的项目的当前参数值。
所述参数值输出单元550,将获取的使用状态的项目的当前参数值输出给用户。本实施例中,获取的使用状态项目的当前参数值可以是图像识别子单元542输出的,也可以是应用程序编程接口调用单元580输出的。
本实施例可以用于实现上述使用状态的检测方法的第二种实施例。
参见图6,根据本发明实施例的再一种使用状态的检测装置,本实施例与图5所示的检测装置相似,也包括:指令接收单元610、指令响应单元620、子View视图查找单元630、参数值获取单元640、参数值输出单元650、第一判断单元660、第二判断单元670和应用程序编程接口调用单元680。
其中,指令接收单元610、指令响应单元620、子View视图查找单元630、第一判断单元660、第二判断单元670和应用程序编程接口调用单元680可以与图5所示的检测装置中的指令接收单元510、指令响应单元520、子View视图查找单元530、第一判断单元560、第二判断单元570和应用程序编程接口调用单元580完全相同。
本实施例中的参数值获取单元640和参数值输出单元650与图5所示的检测装置不同。
其中,本实施例中的参数值获取单元640由参数值读取单元641来实现。
所述参数值读取单元641,读取查找到的子View视图数据中的成员变量,获取要检测使用状态的项目对应的成员变量的当前参数值。
本实施例中,所述参数值输出单元650包括:第一参数值输出子单元651和第二参数值输出子单元652。所述第一参数值输出子单元651,当获取的要检测使用状态的项目对应的成员变量的当前参数值为数值型时,将该数值型当前参数值输出给用户。所述第二参数值输出子单元652,当获取的要检测使用状态的项目对应的成员变量的当前参数值为字符型时,将该字符型当前参数值转换为数值型参数值输出给用户。
在实际应用中,如果预先确定要检测使用状态的项目对应的成员变量的当前参数值为数值型或都是字符型,所述参数值输出单元650可以只包括第一参数值输出子单元651或者只包括第二参数值输出子单元652。
本实施例可以用于实现上述使用状态的检测方法的第二种实施例。
参见图7,根据本发明实施例的一种移动电子设备包括:存储器710、处理器720和数据输出部件730。
其中,所述存储器710,存储移动电子设备状态栏的View视图和该View视图的所有子View视图及其数据;
所述处理器720,接收使用状态检测指令,该指令中包含要检测使用状态的项目;响应该使用状态检测指令,获取移动电子设备状态栏的View视图;根据所述使用状态检测指令中包含要检测使用状态的项目,从移动电子设备状态栏的View视图中,查找要检测使用状态的项目对应的子View视图;从查找到的子View视图中,获取要检测使用状态的项目的当前参数值。
所述数据输出部件730,将获取的使用状态的项目的当前参数值输出给用户。
本实施例的移动电子设备可以是智能手机、平板电脑等。
本发明实施例中某一装置具体可以由芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置是以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (13)
1.一种移动电子设备使用状态的检测方法,其特征在于,包括步骤:
接收使用状态检测指令,该指令中包含要检测使用状态的项目;
响应该使用状态检测指令,获取移动电子设备状态栏的View视图;
根据使用状态检测指令中包含要检测使用状态的项目,从移动电子设备状态栏的View视图中,查找要检测使用状态的项目对应的子View视图;
从查找到的子View视图中,获取要检测使用状态的项目的当前参数值;
在获取移动电子设备状态栏的View视图时,判断是否获取到状态栏的View视图,和在查找要检测使用状态的项目对应的子View视图时,判断是否查找到要检测使用状态的项目对应的子View视图;
当未获取到移动电子设备状态栏的View视图或未查找到要检测使用状态的项目对应的子View视图时,调用要检测使用状态的项目的应用程序编程接口,获取要检测使用状态的项目的当前参数值;
将获取的使用状态的项目的当前参数值输出给用户。
2.根据权利要求1所述的检测方法,其特征在于,所述从移动电子设备状态栏的View视图中,查找要检测使用状态的项目对应的子View视图,包括:
根据使用状态检测指令中包含的要检测使用状态的项目,遍历移动电子设备状态栏View视图中所有的子View视图,获取其中各个子View视图的类名,根据类名中是否包含要检测使用状态的项目对应的关键词,确定是否为要检测使用状态的项目对应的子View视图。
3.根据权利要求1所述的检测方法,其特征在于,所述从移动电子设备状态栏的View视图中,查找要检测使用状态的项目对应的子View视图,包括:
根据使用状态检测指令中包含的要检测使用状态的项目,遍历移动电子设备状态栏View视图中所有的子View视图,获取其中各个子View视图数据中的内部成员变量,根据是否包含要检测使用状态的项目对应的内部成员变量,确定是否为要检测使用状态的项目对应的子View视图。
4.根据权利要求1所述的检测方法,其特征在于,所述从查找到的子View视图中,获取要检测使用状态的项目的当前参数值,包括:
对查找到的子View视图进行截图,对所截取的图像进行图像识别,获取要检测使用状态的项目的当前参数值。
5.根据权利要求4所述的检测方法,其特征在于,预先根据各个子View视图的显示规则,确定各个使用状态项目的当前参数在子View视图中的位置;
所述对所截取的图像进行图像识别,获取要检测使用状态的项目的当前参数值,包括:
对要检测使用状态的项目,根据所述各个使用状态项目的当前参数在子View视图中的位置,确定要检测使用状态项目的当前参数在子View视图中的位置;
对该位置的图像进行识别,识别出要检测使用状态的项目的当前参数值。
6.根据权利要求1所述的检测方法,其特征在于,所述从查找到的子View视图中,获取要检测使用状态的项目的当前参数值,包括:
读取查找到的子View视图数据中的成员变量,获取要检测使用状态的项目对应的成员变量的当前参数值。
7.根据权利要求1-6任一项所述的检测方法,其特征在于:所述要检测使用状态的项目包括:电池电量、Wi-Fi使用情况、虚拟专用网络使用情况、3G使用情况、设备是否竖排锁定、时间显示格式、蓝牙使用情况和定位功能使用情况中的一种或多种。
8.一种移动电子设备使用状态的检测装置,其特征在于,包括:
指令接收单元,接收使用状态检测指令,该指令中包含要检测使用状态的项目;
指令响应单元,响应该使用状态检测指令,获取移动电子设备状态栏的View视图;
子View视图查找单元,根据使用状态检测指令中包含要检测使用状态的项目,从移动电子设备状态栏的View视图中,查找要检测使用状态的项目对应的子View视图;
参数值获取单元,从查找到的子View视图中,获取要检测使用状态的项目的当前参数值;
第一判断单元,在获取移动电子设备状态栏的View视图时,判断是否获取到状态栏的View视图;
第二判断单元,在查找要检测使用状态的项目对应的子View视图时,判断是否查找到要检测使用状态的项目对应的子View视图;
应用程序编程接口调用单元,当未获取移动电子设备状态栏的View视图或未查找到要检测使用状态的项目对应的子View视图时,调用要检测使用状态的项目的应用程序编程接口,获取要检测使用状态的项目的当前参数值;
参数值输出单元,将获取的使用状态的项目的当前参数值输出给用户。
9.根据权利要求8所述的检测装置,其特征在于,所述子View视图查找单元,包括:第一状态栏View视图遍历子单元;
所述第一状态栏View视图遍历子单元,根据使用状态检测指令中包含的要检测使用状态的项目,遍历移动电子设备状态栏View视图中所有的子View视图,获取其中各个子View视图的类名,根据类名中是否包含要检测使用状态的项目对应的关键词,确定是否为要检测使用状态的项目对应的子View视图。
10.根据权利要求8所述的检测装置,其特征在于,其特征在于,所述子View视图查找单元,包括:第二状态栏View视图遍历子单元;
所述第二状态栏View视图遍历子单元,根据使用状态检测指令中包含的要检测使用状态的项目,遍历移动电子设备状态栏View视图中所有的子View视图,获取其中各个子View视图数据中的内部成员变量,根据是否包含要检测使用状态的项目对应的内部成员变量,确定是否为要检测使用状态的项目对应的子View视图。
11.根据权利要求8所述的检测装置,其特征在于,所述参数值获取单元包括:截图子单元和图像识别子单元;
所述截图子单元,对查找到的子View视图进行截图;
所述图像识别子单元,对所截取的图像进行图像识别,获取要检测使用状态的项目的当前参数值。
12.根据权利要求11所述的检测装置,其特征在于:
所述图像识别子单元,对要检测使用状态的项目,根据预先确定的各个使用状态项目的当前参数在子View视图中的位置,确定要检测使用状态项目的当前参数在子View视图中的位置;对该位置的图像进行识别,识别出要检测使用状态的项目的当前参数值。
13.根据权利要求8所述的检测装置,其特征在于,所述参数值获取单元为:参数值读取单元;
所述参数值读取单元,读取查找到的子View视图数据中的成员变量,获取要检测使用状态的项目对应的成员变量的当前参数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310316962.3A CN103365544B (zh) | 2013-07-25 | 2013-07-25 | 移动电子设备使用状态的检测方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310316962.3A CN103365544B (zh) | 2013-07-25 | 2013-07-25 | 移动电子设备使用状态的检测方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103365544A CN103365544A (zh) | 2013-10-23 |
CN103365544B true CN103365544B (zh) | 2016-12-28 |
Family
ID=49367028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310316962.3A Active CN103365544B (zh) | 2013-07-25 | 2013-07-25 | 移动电子设备使用状态的检测方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103365544B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103926537B (zh) * | 2014-04-08 | 2017-01-11 | 可牛网络技术(北京)有限公司 | 一种电量信息的获取方法和电子设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5028170B2 (ja) * | 2007-07-11 | 2012-09-19 | 株式会社日立製作所 | ユーザ連携システムおよびサーバ装置 |
CN101944057A (zh) * | 2010-09-02 | 2011-01-12 | 宇龙计算机通信科技(深圳)有限公司 | 一种应用程序使用状态的提醒方法、系统及移动终端 |
CN102004687A (zh) * | 2010-11-04 | 2011-04-06 | 东莞宇龙通信科技有限公司 | 一种移动终端程序运行状态显示方法及移动终端 |
CN102306118A (zh) * | 2011-08-31 | 2012-01-04 | 中兴通讯股份有限公司 | Android终端应用程序功耗监控的方法和装置 |
CN102647515B (zh) * | 2012-03-26 | 2014-04-09 | 青岛海信移动通信技术股份有限公司 | 一种终端状态显示的控制方法及装置 |
CN102945342B (zh) * | 2012-09-29 | 2015-08-05 | 北京奇虎科技有限公司 | 进程识别方法、装置和终端设备 |
-
2013
- 2013-07-25 CN CN201310316962.3A patent/CN103365544B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103365544A (zh) | 2013-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106296142B (zh) | 一种多支付渠道选择的方法及系统 | |
CN109508352B (zh) | 一种报表数据的输出方法、装置、设备和存储介质 | |
CN106604362B (zh) | 一种无线保真Wi-Fi扫描方法及移动终端 | |
CN106294120A (zh) | 测试代码的方法、设备和计算机程序产品 | |
CN107133174A (zh) | 测试用例代码自动生成装置与方法 | |
US20200012849A1 (en) | Pedestrian Retrieval Method and Apparatus | |
CN104133615B (zh) | 一种终端锁屏界面的处理方法 | |
CN106201856A (zh) | 一种多版本性能测试方法及装置 | |
CN112114892A (zh) | 深度学习模型的获取方法、加载方法及选取方法 | |
CN103034575A (zh) | 崩溃分析方法和装置 | |
CN108959067A (zh) | 搜索引擎的测试方法、装置及计算机可读存储介质 | |
CN103049373A (zh) | 一种崩溃的定位方法和装置 | |
CN106371999A (zh) | 程序代码测试方法及装置 | |
CN110532774A (zh) | 钩子检查方法、装置、服务器及可读存储介质 | |
CN109522933A (zh) | 用于货架的商品检测方法及装置 | |
CN104572999A (zh) | 基于异构数据的错误数据的检测方法和装置 | |
CN103309805A (zh) | xUnit框架下面向对象软件中测试目标的自动化选择方法 | |
CN103365544B (zh) | 移动电子设备使用状态的检测方法、装置及电子设备 | |
CN109684213A (zh) | 一种测试方法、装置及存储介质 | |
CN103955425A (zh) | 网页web探索测试装置及方法 | |
CN109213782A (zh) | 搜索界面的配置、显示方法、装置及通信设备 | |
CN103473001B (zh) | 单元格调整方法及装置 | |
CN112487513A (zh) | 一种用于设计方案图纸整合推优的方法、装置和系统 | |
CN111459802A (zh) | 一种基于GUI的Android应用程序WebView页面的测试方法、装置及设备 | |
CN106793015A (zh) | 一种无线保真Wi‑Fi连接方法及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |