CN106406947B - 防止系统服务进程重启的方法及装置、移动终端 - Google Patents
防止系统服务进程重启的方法及装置、移动终端 Download PDFInfo
- Publication number
- CN106406947B CN106406947B CN201610819013.0A CN201610819013A CN106406947B CN 106406947 B CN106406947 B CN 106406947B CN 201610819013 A CN201610819013 A CN 201610819013A CN 106406947 B CN106406947 B CN 106406947B
- Authority
- CN
- China
- Prior art keywords
- sensor
- enabled
- system service
- service process
- failure
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Abstract
本发明公开了一种防止系统服务进程重启的方法,包括:驱动层在接收到系统服务进程发送的传感器使能指令后,根据该传感器使能指令使能相应的传感器,若使能传感器失败,则从已保存的传感器注册表中删除该传感器的注册信息,以避免需要使用该传感器的应用程序在后续启动时该系统服务进程重启。本发明还公开了一种防止系统服务进程重启的装置及移动终端,在使能传感器失败时,将传感器注册列表中该传感器的注册信息删除,使得需要使能该传感器的应用程序在后续启动时将认为该传感器不存在,而不使能该传感器,有效避免需要使能该传感器的应用程序每次在启动时由于使能传感器失败而造成系统服务进程重启的问题,避免应用程序闪退及显示屏短暂黑屏。
Description
技术领域
本发明涉及移动终端技术领域,尤其涉及一种防止系统服务进程重启的方法及装置、移动终端。
背景技术
随着通信技术的发展,手机已经成为人们日常生活中常用的电子设备,且手机也能够安装越来越多的应用程序,具有多种功能。
目前,大多数应用程序在使用时需要调用硬件设备的数据,例如,指南针应用程序需要调用手机中安装的方向传感器,并对方向传感器感应到的数据进行处理,以实现指示方向的功能。
然而,应用程序在启动时,需要使能其需要使用的传感器,如果传感器出现故障,将无法被成功使能,系统服务进程将无法接收到传感器上报的感应数据,导致系统服务进程认为系统存在超时卡顿,从而自动重启,带来显示屏出现短暂黑屏的现象,且由于系统服务进程重启,也将导致上述应用程序闪退。因此,由于传感器出现故障,将导致需要使能该传感器的所有应用程序每次在启动时都会带来系统服务进程重启的问题,进一步导致出现应用程序闪退及显示屏短暂黑屏的现象。
发明内容
本发明的主要目的在于提供一种防止系统服务进程重启的方法,旨在解决现有技术中由于传感器出现故障,导致需要使能该传感器的所有应用程序每次在启动时都会带来系统服务进程重启的问题,且进一步带来应用程序的闪退及显示屏短暂黑屏的问题。
为实现上述目的,本发明第一方面提供一种防止系统服务进程重启的方法,该方法包括:
驱动层在接收到系统服务进程发送的传感器使能指令后,根据所述传感器使能指令使能相应的传感器;
若使能所述传感器失败,则从已保存的传感器注册列表中删除所述传感器的注册信息,以避免需要使能所述传感器的应用程序在后续启动时所述系统服务进程重启。
为实现上述目的,本发明第二方面提供一种防止系统服务进程重启的装置,该装置包括:
使能模块,用于在接收到系统服务进程发送的传感器使能指令后,根据所述传感器使能指令使能相应的传感器;
删除模块,用于若使能所述传感器失败,则从已保存的传感器注册列表中删除所述传感器的注册信息,以避免需要使能所述传感器的应用程序在后续启动时所述系统服务进程重启。
为实现上述目的,本发明第三方面提供一种移动终端,该移动终端包括上述第二方面提供的防止系统服务进程重启的装置。
本发明提供一种防止系统服务进程重启的方法,在该方法中,驱动层在接收到系统服务进程发送的传感器使能指令之后,根据该传感器使能指令使能相应的传感器,若使能所述传感器失败,则从已保存的传感器注册表中删除该传感器的注册信息,以避免需要使用该传感器的应用程序在后续启动时该系统服务进程重启。通过在使能传感器失败时,将已保存的传感器注册列表中该传感器的注册信息删除,使得需要使能该传感器的应用程序在后续启动时将认为该传感器不存在,而不使能该传感器,有效避免需要使能该传感器的应用程序每次在启动时由于使能传感器失败而造成系统服务进程重启的问题,进一步避免应用程序闪退及显示屏短暂黑屏的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一种移动终端的结构框图;
图2为本发明第一实施例中防止系统服务进程重启的方法的流程示意图;
图3为本发明第二实施例中防止系统服务进程重启的方法的流程示意图;
图4为本发明第三实施例中防止系统服务进程重启的方法的流程示意图;
图5为本发明第四实施例中防止系统服务进程重启的装置的功能模块的示意图;
图6为本发明第五实施例中防止系统服务进程重启的装置的功能模块的示意图;
图7为本发明第六实施例中防止系统服务进程重启的装置的功能模块的示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了一种移动终端的结构框图。本发明实施例提供的防止系统服务进程重启的方法可应用于如图1所示的移动终端10中,移动终端10可以但不限于包括:需依靠电池维持正常运行且支持网络及下载功能的智能手机、笔记本、平板电脑、穿戴智能设备等。
如图1所示,移动终端10包括存储器101、存储控制器102,一个或多个(图中仅示出一个)处理器103、外设接口104、射频模块105、按键模块106、音频模块107以及触控屏幕108。这些组件通过一条或多条通讯总线/信号线109相互通讯。
可以理解,图1所示的结构仅为示意,其并不对移动终端的结构造成限定。移动终端10还可包括比图1所示更多或者更少的组件,或者具有与图1所示不同的配置。图1所示的各组件可以采用硬件、软件或其组合实现。
存储器101可用于存储软件程序以及模块,如本发明实施例中的防止系统服务进程重启的方法及装置、移动终端对应的程序指令/模块,处理器103通过运行存储在存储器101内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的防止系统服务进程重启的方法。
存储器101可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器101可进一步包括相对于处理器103远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器103以及其他可能的组件对存储器101的访问可在存储控制器102的控制下进行。
外设接口104将各种输入/输入装置耦合至CPU以及存储器101。处理器103运行存储器101内的各种软件、指令以执行移动终端10的各种功能以及进行数据处理。
在一些实施例中,外设接口104,处理器103以及存储控制器102可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
射频模块105用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。射频模块105可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。射频模块105可与各种网络如互联网、企业内部网、预置类型的无线网络进行通讯或者通过预置类型的无线网络与其他设备进行通讯。上述的预置类型的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的预置类型的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(Global System for MobileCommunication,GSM),增强型移动通信技术(Enhanced Data GSM Environment,EDGE),宽带码分多址技术(Wideband Code Division Multiple Access,W-CDMA),码分多址技术(Code Division Access,CDMA),时分多址技术(Time Division Multiple Access,TDMA),蓝牙,无线保真技术(Wireless-Fidelity,WiFi)(如美国电气和电子工程师协会标准IEEE802.11a、IEEE 802.11b、IEEE802.11g和/或IEEE 802.11n),网络电话(Voice overInternet Protocal,VoIP),全球微波互联接入(Worldwide Interoperability forMicrowave Access,Wi-Max),其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议。
按键模块106提供用户向移动终端进行输入的接口,用户可以通过按下不同的按键以使移动终端10执行不同的功能。
音频模块107向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。音频电路从外设接口104处接收声音数据,将声音数据转换为电信息,将电信息传输至扬声器。扬声器将电信息转换为人耳能听到的声波。音频电路还从麦克风处接收电信息,将电信号转换为声音数据,并将声音数据传输至外设接口104中以进行进一步的处理。音频数据可以从存储器101处或者通过射频模块105获取。此外,音频数据也可以存储至存储器101中或者通过射频模块105进行发送。在一些实例中,音频模块107还可包括一个耳机播孔,用于向耳机或者其他设备提供音频接口。
触控屏幕108在移动终端与用户之间同时提供一个输出及输入界面。具体地,触控屏幕108向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频、及其任意组合。一些输出结果是对应于一些用户界面对象。触控屏幕108还接收用户的输入,例如用户的点击、滑动等手势操作,以便用户界面对象对这些用户的输入做出响应。检测用户输入的技术可以是基于电阻式、电容式或者其他任意可能的触控检测技术。触控屏幕108显示单元的具体实例包括但并不限于液晶显示器或发光聚合物显示器。
基于上述移动终端描述本发明实施例中防止系统服务进程重启的方法。
由于现有技术中若传感器出现故障,将导致需要使能该传感器的所有应用程序每次在启动时都会带来系统服务进程重启的问题,且进一步带来应用程序的闪退及显示屏短暂黑屏的问题。
为了解决上述问题,本发明提出一种防止系统服务进程重启的方法,通过在使能传感器失败时,将已保存的传感器注册列表中该传感器的注册信息删除,使得其他需要使能该传感器的应用程序在后续启动时将认为该传感器不存在,而不使能该传感器,有效避免需要使能该传感器的应用程序每次在启动时由于使能传感器失败而造成系统服务进程重启的问题,进一步避免该应用程序频繁闪退及显示屏短暂黑屏的问题,避免影响用户的使用体验。
请参阅图2,为本发明第一实施例中防止系统服务进程重启的方法的流程示意图,该方法包括:
步骤201、驱动层在接收到系统服务进程发送的传感器使能指令后,根据所述传感器使能指令使能相应的传感器;
在本发明实施例中,移动终端中可以安装多种不同的应用程序,且很多应用程序需要使用到移动终端内的传感器,例如:指南针应用程序需要使用到方向传感器。
其中,用户可以点击移动终端的显示屏上应用程序的图标,且移动终端在检测到用户对应用程序的图标的点击操作之后,将在应用层运行该应用程序的启动程序,以实现应用程序的启动。其中,在运行该应用程序的启动程序的过程中,应用层将确定该应用程序需要使能的传感器,并调用系统服务进程,将该待使能的传感器发送给该系统服务进程,系统服务进程在接收到该待使能的传感器之后,将调用驱动层,并向该驱动层发送传感器使能指令,且该传感器的使能指令中包含该待使能的传感器。
在本发明实施例中,驱动层在接收到该系统服务进程发送的传感器使能指令之后,将根据该传感器使能指令使能相应的传感器,其中,该传感器使能指令时在系统服务进程检测到应用程序启动时发送给该驱动层的。
步骤202、若使能所述传感器失败,则从已保存的传感器注册列表中删除所述传感器的注册信息,以避免需要使能所述传感器的应用程序在后续启动时所述系统服务进程重启。
在本发明实施例中,驱动层在使能传感器时,若该传感器未出现任何故障,则将使能成功,若该传感器出现故障,则将使能失败。
在本发明实施例中,移动终端内已保存传感器的注册列表,该传感器注册列表是在移动终端启动时生成的,移动终端在启动时,将扫描该移动终端内所有的硬件,其中包含传感器,移动终端将扫描到的传感器的数据作为该传感器的注册信息,并保存至传感器的注册列表中,该传感器注册列表用于表明该移动终端内存在的传感器。其中,注册信息包括传感器的名称、型号、触发方式等信息。
其中,驱动层在使能传感器之前,将确定待使能的传感器是否在传感器注册列表中,若该传感器未在传感器注册列表中,则认为移动终端内不存在该传感器,驱动层将放弃使能该传感器,在放弃使能传感器的情况下,就不会出现因为使能该传感器失败而带来系统服务进程重启的问题,本发明实施例中即是使用该原理,在使能传感器失败时,通过删除传感器注册列表中的该传感器的注册信息,使得需要使能该传感器的应用程序在后续启动时将认为该传感器不存在而放弃使能传感器,以避免系统服务进程重启。
在本发明实施例中,若使能该传感器失败,则表示传感器出现故障,传感器出现故障之后,将无法向驱动层发送其感应到的数据,驱动层也就无法向系统服务进程上报感应数据,在这种情况下,系统服务进程在等待一段时间后若一直未接收到驱动层上报的感应数据,将认为系统存在超时卡顿的问题而自动进入重启程序,导致应用程序闪退及显示屏短暂黑屏的问题,为了避免该问题的出现,驱动层在确定使能传感器失败时,将从已保存的传感器注册列表中删除该传感器的注册信息,以避免需要使能该传感器的应用程序在后续启动时该系统服务进程重启。例如,移动终端在应用层运行软件A的启动程序时,若确定该软件A需要使能传感器B,则应用层将调用系统服务进程,系统服务进程将生成包含传感器B的传感器使能指令,并调用驱动层,驱动层在接收到该指令之后,将使能传感器B,若使能传感器B失败,驱动层将从已保存的传感器注册列表中删除传感器B的注册信息。可以理解的是,虽然已经删除了传感器B的注册信息,但是由于已经对传感器B使能,且使能失败,在这种情况下,由于驱动层无法接收到传感器B发送的感应数据,驱动层也就无法向系统服务进程上报感应数据,系统服务进程在预置时间内未接收到上报的感应数据,将重启,使得软件A闪退及显示屏短暂黑屏。然而,该软件A在以后的每一次启动时,由于传感器注册列表中不包含传感器B的注册信息,驱动层将认为该传感器B不存在,将不会使能传感器B,因此,该软件A在以后的每一次启动时都能够正常启动,只不过无法使用基于传感器B所能够实现的功能。此外,对于其他在启动时需要使能传感器B的软件,如软件C,也将由于传感器B的注册信息已经删除,在启动软件C时将不会使能传感器B,避免带来系统服务进程重启的问题,且避免软件C闪退及显示屏黑屏。
在本发明实施例中,驱动层在接收到系统服务进程发送的传感器使能指令之后,根据该传感器使能指令使能相应的传感器,若使能所述传感器失败,则从已保存的传感器注册表中删除该传感器的注册信息,以避免需要使用该传感器的应用程序在后续启动时该系统服务进程重启。通过在使能传感器失败时,将已保存的传感器注册列表中该传感器的注册信息删除,使得需要使能该传感器的应用程序在后续启动时将认为该传感器不存在,而不使能该传感器,有效避免需要使能该传感器的应用程序在后续启动时由于使能传感器失败而造成系统服务进程重启的问题,进一步避免应用程序闪退及显示屏短暂黑屏的问题。
基于图2所示第一实施例,请参阅图3,为本发明第二实施例中防止系统服务进程重启的方法的流程示意图,该方法包括:
步骤301、驱动层在接收到系统服务进程发送的传感器使能指令后,所述驱动层获取所述传感器使能指令中包含的待使能的传感器;
步骤302、所述驱动层查找传感器注册列表,确定所述传感器是否在所述传感器注册列表中;执行步骤303或者步骤305;
步骤303、若所述传感器在所述传感器注册列表中,则所述驱动层调用所述传感器对应的使能函数,并利用所述使能函数使能所述传感器;
步骤304、若使能所述传感器失败,则从已保存的传感器注册列表中删除所述传感器的注册信息,以避免需要使能所述传感器的应用程序在后续启动时所述系统服务进程重启;
步骤305、若所述传感器未在所述传感器注册列表中,则确定不使能所述传感器。
在本发明实施例中,驱动层在接收到系统服务进程发送的传感器使能指令之后,将获取该传感器使能指令中包含的待使能的传感器,且驱动层将查找移动终端内已保存的传感器注册列表,确定该待使能的传感器是否在该传感器注册列表中。
在本发明实施例中,若该待使能的传感器在传感器的注册列表中,则驱动层将调用该待使能的传感器对应的使能函数,并利用该使能函数使能该待使能的传感器。
其中,若使能该传感器失败,则从已保存的传感器注册列表中删除该传感器的注册信息,已避免需要使能传感器的应用程序在后续启动时系统服务进程重启。
其中,若该待使能的传感器未在传感器注册列表中,则驱动层认为移动终端内并不存在该待使能的传感器,确定不使能该待使能的传感器。
在本发明实施例中,驱动层在确定使能传感器失败的情况下,将输出提示信息,该提示信息用于提示该传感器出现故障,具体的,驱动层将该提示信息输出给系统服务进程,系统服务进程在应用程序启动之后,将根据该提示信息输出至该应用程序运行的应用层,应用层将根据该提示信息输出相应的提示消息,例如在显示界面上显示文字提示信息,或者播放语音提示消息,以提示用户传感器出现故障。
在本发明实施例中,通过在使能传感器失败时,将已保存的传感器注册列表中该传感器的注册信息删除,使得需要使能该传感器的应用程序在后续启动时将认为该传感器不存在,而不使能该传感器,有效避免需要使能该传感器的应用程序在后续启动时由于使能传感器失败而造成系统服务进程重启的问题,进一步避免应用程序闪退及显示屏短暂黑屏的问题。
基于图2所示第一实施例,请参阅图4,为本发明第三实施例中防止系统服务进程重启的方法的流程示意图,该方法包括:
步骤401、驱动层在接收到系统服务进程发送的传感器使能指令后,根据所述传感器使能指令使能相应的传感器;
步骤402、接收所述传感器反馈的使能返回值;
步骤403、若所述使能返回值与预置的使能失败的返回值相同,则确定使能所述传感器失败;
步骤404、若使能所述传感器失败,则从已保存的传感器注册列表中删除所述传感器的注册信息,以避免需要使能所述传感器的应用程序在后续启动时所述系统服务进程重启。
需要说明的是,本发明实施例中的步骤401及步骤404分别与图2所示第一实施例中的步骤201及步骤202描述的内容相似,此处不做赘述。
在本发明实施例中,该驱动层在使能相应的传感器之后,该传感器将向驱动层反馈使能返回值,可以基于该使能返回值确定使能该传感器是成功还失败。其中,移动终端内已经预置各个传感器使能失败的返回值及使能成功的返回值,驱动层在接收到传感器反馈的使能返回值之后,将该使能返回值与预置的使能失败的返回值及使能成功的返回值进行比较,若该使能返回值与预置的使能成功的返回值相同,则表明使能该传感器成功,该传感器未出现故障,能够正常的向驱动层发送感应数据,以便驱动层将该感应数据上报系统服务进程。若该使能返回值与预置的使能失败的返回值相同,则确定使能该传感器失败,该传感器出现故障。
在本发明实施例中,驱动层在确定使能传感器失败的情况下,将输出提示信息,该提示信息用于提示该传感器出现故障,具体的,驱动层将该提示信息输出给系统服务进程,系统服务进程在应用程序启动之后,将根据该提示信息输出至该应用程序运行的应用层,应用层将根据该提示信息输出相应的提示消息,例如在显示界面上显示文字提示信息,或者播放语音提示消息,以提示用户传感器出现故障。
在本发明实施例中,驱动层在接收到系统服务进程发送的传感器使能指令后,根据该传感器使能指令使能相应的传感器,接收该传感器反馈的使能返回值,在该使能返回值与预置的使能失败的返回值相同时,确定使能该传感器失败,驱动层将从以保存的传感器注册列表中删除该传感器的注册信息,以避免需要使能该传感器的所有应用程序在后续启动时该系统服务进程重启。通过在使能传感器失败时,将已保存的传感器注册列表中该传感器的注册信息删除,使得需要使能该传感器的应用程序在后续启动时将认为该传感器不存在,而不使能该传感器,有效避免需要使能该传感器的应用程序在后续启动时由于使能传感器失败而造成系统服务进程重启的问题,进一步避免应用程序闪退及显示屏短暂黑屏的问题。
请参阅图5,为本发明第四实施例中防止系统服务进程重启的装置的功能模块的示意图,该装置包括:使能模块501及删除模块502。
使能模块501,用于在接收到系统服务进程发送的传感器使能指令后,根据所述传感器使能指令使能相应的传感器;
需要说明的是,本发明实施例中防止服务进程重启的装置(以下简称为:装置)是驱动层中的部分装置。
在本发明实施例中,移动终端中可以安装多种不同的应用程序,且很多应用程序需要使用到移动终端内的传感器,例如:指南针应用程序需要使用到方向传感器。
其中,用户可以点击移动终端的显示屏上应用程序的图标,且移动终端在检测到用户对应用程序的图标的点击操作之后,将在应用层运行该应用程序的启动程序,以实现应用程序的启动。其中,在运行该应用程序的启动程序的过程中,应用层将确定该应用程序需要使能的传感器,并调用系统服务进程,将该待使能的传感器发送给该系统服务进程,系统服务进程在接收到该待使能的传感器之后,将调用驱动层,并向该驱动层发送传感器使能指令,且该传感器的使能指令中包含该待使能的传感器。
在本发明实施例中,驱动层在接收到该系统服务进程发送的传感器使能指令之后,使能模块501将根据该传感器使能指令使能相应的传感器,其中,该传感器使能指令时在系统服务进程检测到应用程序启动时发送给该驱动层的。
删除模块502,用于若使能所述传感器失败,则从已保存的传感器注册列表中删除所述传感器的注册信息,以避免需要使能所述传感器的应用程序在后续启动时所述系统服务进程重启。
在本发明实施例中,在使能传感器时,若该传感器未出现任何故障,则将使能成功,若该传感器出现故障,则将使能失败。
在本发明实施例中,移动终端内已保存传感器的注册列表,该传感器注册列表是在移动终端启动时生成的,移动终端在启动时,将扫描该移动终端内所有的硬件,其中包含传感器,移动终端将扫描到的传感器的数据作为该传感器的注册信息,并保存至传感器的注册列表中,该传感器注册列表用于表明该移动终端内存在的传感器。其中,注册信息包括传感器的名称、型号、触发方式等信息。
其中,在使能传感器之前,将确定待使能的传感器是否在传感器注册列表中,若该传感器未在传感器注册列表中,则认为移动终端内不存在该传感器,驱动层将放弃使能该传感器,在放弃使能传感器的情况下,就不会出现因为使能该传感器失败而带来系统服务进程重启的问题,本发明实施例中即是使用该原理,在使能传感器失败时,通过删除传感器注册列表中的该传感器的注册信息,使得需要使能该传感器的应用程序在后续启动时将认为该传感器不存在而放弃使能传感器,以避免系统服务进程重启。
在本发明实施例中,若使能该传感器失败,则表示传感器出现故障,传感器出现故障之后,将无法向驱动层发送其感应到的数据,驱动层也就无法向系统服务进程上报感应数据,在这种情况下,系统服务进程在等待一段时间后若一直未接收到驱动层上报的感应数据,将认为系统存在超时卡顿的问题而自动进入重启程序,导致应用程序闪退及显示屏短暂黑屏的问题,为了避免该问题的出现,在确定使能传感器失败时,删除模块502将从已保存的传感器注册列表中删除该传感器的注册信息,以避免需要使能该传感器的应用程序在后续启动时该系统服务进程重启。例如,移动终端在应用层运行软件A的启动程序时,若确定该软件A需要使能传感器B,则应用层将调用系统服务进程,系统服务进程将生成包含传感器B的传感器使能指令,并调用驱动层,驱动层在接收到该指令之后,将使能传感器B,若使能传感器B失败,驱动层将从已保存的传感器注册列表中删除传感器B的注册信息。可以理解的是,虽然已经删除了传感器B的注册信息,但是由于已经对传感器B使能,且使能失败,在这种情况下,由于驱动层无法接收到传感器B发送的感应数据,驱动层也就无法向系统服务进程上报感应数据,系统服务进程在预置时间内未接收到上报的感应数据,将重启,使得软件A闪退及显示屏短暂黑屏。然而,该软件A在以后的每一次启动时,由于传感器注册列表中不包含传感器B的注册信息,驱动层将认为该传感器B不存在,将不会使能传感器B,因此,该软件A在以后的每一次启动时都能够正常启动,只不过无法使用基于传感器B所能够实现的功能。此外,对于其他在启动时需要使能传感器B的软件,如软件C,也将由于传感器B的注册信息已经删除,在启动软件C时将不会使能传感器B,避免带来系统服务进程重启的问题,且避免软件C闪退及显示屏黑屏。
在本发明实施例中,在接收到系统服务进程发送的传感器使能指令之后,使能模块501根据该传感器使能指令使能相应的传感器,若使能所述传感器失败,则删除模块502从已保存的传感器注册表中删除该传感器的注册信息,以避免需要使用该传感器的应用程序在后续启动时该系统服务进程重启。通过在使能传感器失败时,将已保存的传感器注册列表中该传感器的注册信息删除,使得需要使能该传感器的应用程序在后续启动时将认为该传感器不存在,而不使能该传感器,有效避免需要使能该传感器的应用程序在后续启动时由于使能传感器失败而造成系统服务进程重启的问题,进一步避免应用程序闪退及显示屏短暂黑屏的问题。
基于图5所示第四实施例,请参阅图6,为本发明第五实施例中防止系统服务进程重启的装置的功能模块的示意图,该装置包括如图5所示第四实施例中的使能模块501及删除模块502,且与图5所示第四实施例中描述的内容相似,此处不做赘述。
在本发明实施例中,使能模块501包括:
获取模块601,用于获取所述传感器使能指令中包含的待使能的传感器;
查找确定模块602,用于查找传感器注册列表,确定所述传感器是否在所述传感器注册列表中;
调用使能模块603,用于若所述传感器在所述传感器注册列表中,则调用所述传感器对应的使能函数,并利用所述使能函数使能所述传感器;
确定模块604,用于若所述传感器未在所述传感器注册列表中,则确定不使能所述传感器。
在本发明实施例中,在接收到系统服务进程发送的传感器使能指令之后,获取模块601将获取该传感器使能指令中包含的待使能的传感器,且查找确定模块602将查找移动终端内已保存的传感器注册列表,确定该待使能的传感器是否在该传感器注册列表中。
在本发明实施例中,若该待使能的传感器在传感器的注册列表中,则调用使能模块603将调用该待使能的传感器对应的使能函数,并利用该使能函数使能该待使能的传感器。
其中,若使能该传感器失败,则删除模块502从已保存的传感器注册列表中删除该传感器的注册信息,已避免需要使能传感器的应用程序在后续启动时系统服务进程重启。
其中,若该待使能的传感器未在传感器注册列表中,则驱动层认为移动终端内并不存在该待使能的传感器,确定模块604确定不使能该待使能的传感器。
在本发明实施例中,通过在使能传感器失败时,将已保存的传感器注册列表中该传感器的注册信息删除,使得需要使能该传感器的应用程序在后续启动时将认为该传感器不存在,而不使能该传感器,有效避免需要使能该传感器的应用程序在后续启动时由于使能传感器失败而造成系统服务进程重启的问题,进一步避免应用程序闪退及显示屏短暂黑屏的问题。
基于图5所示第四实施例,请参阅图7,为本发明第六实施例中防止系统服务进程重启的装置的功能模块的示意图,该装置包括如图5所示第四实施例中的使能模块501及删除模块502,且与图5所示第四实施例中描述的内容相似,此处不做赘述。
在本发明实施例中,装置还包括:
接收模块701,用于在所述使能模块501之后,接收所述传感器反馈的使能返回值;
失败确定模块702,用于若所述使能返回值与预置的使能失败的返回值相同,则确定使能所述传感器失败。
在本发明实施例中,在使能相应的传感器之后,该传感器将向驱动层反馈使能返回值,可以基于该使能返回值确定使能该传感器是成功还失败。其中,移动终端内已经预置各个传感器使能失败的返回值及使能成功的返回值,接收模块701在接收到传感器反馈的使能返回值之后,可将该使能返回值与预置的使能失败的返回值及使能成功的返回值进行比较,若该使能返回值与预置的使能成功的返回值相同,则表明使能该传感器成功,该传感器未出现故障,能够正常的向驱动层发送感应数据,以便驱动层将该感应数据上报系统服务进程。若该使能返回值与预置的使能失败的返回值相同,则失败确定模块702确定使能该传感器失败,该传感器出现故障。
在本发明实施例中,在接收到系统服务进程发送的传感器使能指令后,使能模块501根据该传感器使能指令使能相应的传感器,接收模块701接收该传感器反馈的使能返回值,在该使能返回值与预置的使能失败的返回值相同时,失败确定模块702确定使能该传感器失败,删除模块502将从以保存的传感器注册列表中删除该传感器的注册信息,以避免需要使能该传感器的所有应用程序在后续启动时该系统服务进程重启。通过在使能传感器失败时,将已保存的传感器注册列表中该传感器的注册信息删除,使得需要使能该传感器的应用程序在后续启动时将认为该传感器不存在,而不使能该传感器,有效避免需要使能该传感器的应用程序在后续启动时由于使能传感器失败而造成系统服务进程重启的问题,进一步避免应用程序闪退及显示屏短暂黑屏的问题。
进一步的,上述图5至图7任意一项实施例中,上述装置还可以包括:
提示模块(未在图中示出),用于输出提示信息,所述提示信息用于提示所述传感器出现故障。
在本发明实施例中,驱动层在确定使能传感器失败的情况下,提示模块将输出提示信息,该提示信息用于提示该传感器出现故障,具体的,提示模块将该提示信息输出给系统服务进程,系统服务进程在应用程序启动之后,将根据该提示信息输出至该应用程序运行的应用层,应用层将根据该提示信息输出相应的提示消息,例如在显示界面上显示文字提示信息,或者播放语音提示消息,以提示用户传感器出现故障。
在本发明第七实施例中,还提供一种移动终端,该移动终端图5至图7任意一个实施例中的防止系统服务进程重启的装置。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的一种防止系统服务进程重启的方法及装置、移动终端的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种防止系统服务进程重启的方法,其特征在于,所述方法包括:
驱动层在接收到系统服务进程发送的传感器使能指令后,根据所述传感器使能指令使能相应的传感器;
若使能所述传感器失败,则从已保存的传感器注册列表中删除所述传感器的注册信息,以避免需要使能所述传感器的应用程序在后续启动时所述系统服务进程重启;
其中,所述根据所述传感器使能指令使能相应的传感器的步骤包括:
所述驱动层获取所述传感器使能指令中包含的待使能的传感器;
所述驱动层查找传感器注册列表,确定所述传感器是否在所述传感器注册列表中;
若所述传感器在所述传感器注册列表中,则所述驱动层调用所述传感器对应的使能函数,并利用所述使能函数使能所述传感器。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述传感器未在所述传感器注册列表中,则确定不使能所述传感器。
3.根据权利要求1所述的方法,其特征在于,所述根据所述传感器使能指令使能相应的传感器的步骤之后还包括:
接收所述传感器反馈的使能返回值;
若所述使能返回值与预置的使能失败的返回值相同,则确定使能所述传感器失败。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述从已保存的传感器注册列表中删除所述传感器的注册信息的步骤之后还包括:
输出提示信息,所述提示信息用于提示所述传感器出现故障。
5.一种防止系统服务进程重启的装置,其特征在于,所述装置包括:
使能模块,用于在接收到系统服务进程发送的传感器使能指令后,根据所述传感器使能指令使能相应的传感器;
删除模块,用于若使能所述传感器失败,则从已保存的传感器注册列表中删除所述传感器的注册信息,以避免需要使能所述传感器的应用程序在后续启动时所述系统服务进程重启;
其中,所述使能模块包括:
获取模块,用于获取所述传感器使能指令中包含的待使能的传感器;
查找确定模块,用于查找传感器注册列表,确定所述传感器是否在所述传感器注册列表中;
调用使能模块,用于若所述传感器在所述传感器注册列表中,则调用所述传感器对应的使能函数,并利用所述使能函数使能所述传感器;
确定模块,用于若所述传感器未在所述传感器注册列表中,则确定不使能所述传感器。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
接收模块,用于在所述使能模块之后,接收所述传感器反馈的使能返回值;
失败确定模块,用于若所述使能返回值与预置的使能失败的返回值相同,则确定使能所述传感器失败。
7.根据权利要求5或6所述的装置,其特征在于,所述装置还包括:
提示模块,用于输出提示信息,所述提示信息用于提示所述传感器出现故障。
8.一种移动终端,其特征在于,所述移动终端包括如权利要求5至7任意一项所述的防止系统服务进程重启的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610819013.0A CN106406947B (zh) | 2016-09-13 | 2016-09-13 | 防止系统服务进程重启的方法及装置、移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610819013.0A CN106406947B (zh) | 2016-09-13 | 2016-09-13 | 防止系统服务进程重启的方法及装置、移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106406947A CN106406947A (zh) | 2017-02-15 |
CN106406947B true CN106406947B (zh) | 2019-09-17 |
Family
ID=58000113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610819013.0A Active CN106406947B (zh) | 2016-09-13 | 2016-09-13 | 防止系统服务进程重启的方法及装置、移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106406947B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107728839B (zh) * | 2017-09-28 | 2021-05-21 | 努比亚技术有限公司 | 冻屏监测解决方法、移动终端及计算机可读存储介质 |
KR102313664B1 (ko) | 2017-09-30 | 2021-10-15 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 시스템 서비스의 타임아웃을 처리하는 방법 및 디바이스 |
CN108182117B (zh) * | 2018-01-25 | 2021-08-31 | 郑州云海信息技术有限公司 | 一种基于x86平台的内存大页动态切换方法 |
CN110413450A (zh) * | 2019-07-22 | 2019-11-05 | 河南翔宇医疗设备股份有限公司 | 一种处理应用程序崩溃的方法、装置及设备 |
CN114661379B (zh) * | 2022-04-02 | 2024-01-05 | 经纬恒润(天津)研究开发有限公司 | 车载摄像头系统的解串器驱动程序改造方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937341A (zh) * | 2010-09-09 | 2011-01-05 | 西北工业大学 | 一种自主多模态管理方法 |
CN103475708A (zh) * | 2013-09-09 | 2013-12-25 | 无锡中科物联网基础软件研发中心有限公司 | 一种远程软件更新方法 |
CN104679505A (zh) * | 2015-01-05 | 2015-06-03 | 深圳市元征科技股份有限公司 | 一种轮胎传感器控制方法及设备 |
CN105824622A (zh) * | 2016-03-11 | 2016-08-03 | 联想(北京)有限公司 | 数据处理方法及电子设备 |
-
2016
- 2016-09-13 CN CN201610819013.0A patent/CN106406947B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937341A (zh) * | 2010-09-09 | 2011-01-05 | 西北工业大学 | 一种自主多模态管理方法 |
CN103475708A (zh) * | 2013-09-09 | 2013-12-25 | 无锡中科物联网基础软件研发中心有限公司 | 一种远程软件更新方法 |
CN104679505A (zh) * | 2015-01-05 | 2015-06-03 | 深圳市元征科技股份有限公司 | 一种轮胎传感器控制方法及设备 |
CN105824622A (zh) * | 2016-03-11 | 2016-08-03 | 联想(北京)有限公司 | 数据处理方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106406947A (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106406947B (zh) | 防止系统服务进程重启的方法及装置、移动终端 | |
CN105653486B (zh) | 移动终端和其处理器的usb接口复用的方法 | |
CN105653226B (zh) | 信息显示方法及装置 | |
CN109117361B (zh) | 一种小程序的远程调试方法、相关设备及系统 | |
CN105100141B (zh) | 多媒体内容网络分享方法、装置及系统 | |
CN106033337B (zh) | 一种即时通信表情符号生成方法及装置 | |
CN111523095B (zh) | 一种跨设备交互的方法和终端设备 | |
CN104935744A (zh) | 一种验证码显示方法、验证码显示装置及移动终端 | |
CN106502826B (zh) | 数据备份及传输方法及移动终端 | |
CN106657528A (zh) | 一种来电管理方法及装置 | |
CN107360332A (zh) | 通话状态显示方法、装置、移动终端及存储介质 | |
CN105262878B (zh) | 通话自动录音的处理方法及移动终端 | |
CN105718405B (zh) | 移动终端和其处理器的usb接口复用的方法 | |
CN105657656B (zh) | 一种发射功率调整方法及用户设备 | |
CN106126377B (zh) | 系统启动的方法及装置 | |
WO2019076170A1 (zh) | 非授权频段下的信息传输方法、网络设备及终端 | |
CN105892822A (zh) | 移动终端及其快速设置方法、装置 | |
CN107608720A (zh) | 应用角标的显示方法、装置、移动终端及存储介质 | |
CN105872980B (zh) | 一种扫描无线网络信号的方法及装置 | |
CN106445743A (zh) | 数据备份传输方法及移动终端 | |
CN106254791A (zh) | 摄像头的启动方法及移动终端 | |
CN106294707A (zh) | 一种倒计时提示信息输出方法及装置 | |
CN110572508B (zh) | 通讯录同步方法、装置、存储介质及电子设备 | |
CN106331258A (zh) | 一种通话方法、装置及系统 | |
CN106788561B (zh) | 射频电路控制方法、装置以及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Applicant after: OPPO Guangdong Mobile Communications Co., Ltd. Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Applicant before: Guangdong OPPO Mobile Communications Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |