一种前台应用快速接收广播的方法、存储设备及终端与流程

文档序号:13392837阅读:166来源:国知局

本发明涉及广播的接收领域,特别是涉及一种前台应用快速接收广播的方法、存储设备及终端。



背景技术:

在使用智能终端的过程中,会经常遇到需要立刻熄灭屏幕并结束相关应用及进程的情况,而现有技术中,请参考图1,图1现有技术中前台应用接收熄屏广播的方法一实施例的流程示意图,所述熄屏广播是在所述智能终端接收熄屏指令后,执行了睡眠操作、设置电池状态等操作后才发出的,而所述智能终端的前台应用是在接收到熄屏广播后才开始响应所述熄屏指令的,因此,所述熄屏广播执行的实时性较差。

因此,现有技术有待进一步改进。



技术实现要素:

本发明主要解决的技术问题是提供一种前台应用快速接收广播的方法、存储设备及终端,能够解决熄屏指令执行效率低的问题。

为解决上述技术问题,本发明采用的一个技术方案是:提供一种前台应用快速接收广播的方法。

其中,所述方法包括:

智能终端接收熄屏指令;

所述智能终端响应所述熄屏指令,在发送熄屏广播之前,发送自定义广播,其中,所述自定义广播用于提示所述自定义广播的接收方执行对应所述自定义广播的操作。

其中,所述自定义广播的接收方为前台应用或特定接收方。

其中,所述自定义广播是通知所述前台应用进行熄屏准备的自定义广播或通知所述特定接收方清理无用进程的自定义广播,且所述特定接收方为与所述清理无用进程的自定义广播具有相同目录属性的应用程序。

其中,所述特定接收方清理无用进程的方法是暂时清理、永久清理中的一种,且在执行清理无用进程操作后的预设时间内,如果所述无用进程不需要再次运行,则通过隐藏方式对所述无用进程进行永久清理;如果所述无用进程需要再次运行,则通过杀死后台进程方式对所述无用进程进行暂时清理。

其中,所述智能终端接收熄屏指令之前包括:在所述智能终端的系统中设置所述进行熄屏准备的自定义广播/清理无用进程的自定义广播,同时在应用中注册对应的进行熄屏准备的自定义广播/清理无用进程的自定义广播。

其中,所述应用中注册对应的进行熄屏准备的自定义广播/清理无用进程的自定义广播的方式为动态注册。

其中,所述进行熄屏准备的自定义广播/清理无用进程的自定义广播的发送方式为并行发送,且所述进行熄屏准备的自定义广播/清理无用进程的自定义广播以前台优先级运行。

其中,在所述智能终端的系统中设置所述进行熄屏准备的自定义广播/清理无用进程的自定义广播的方法包括,在框架层中将所述进行熄屏准备的自定义广播/清理无用进程的自定义广播设置为受保护的广播。

为解决上述技术问题,本发明还采用的一个技术方案是:提供一种具有存储功能的设备。

其中,其存储有多条指令,所述指令适于由处理器加载并执行上述任一所述的方法。

为解决上述技术问题,本发明还采用的一个技术方案是:提供一种智能终端。

其中,包括:

相互耦合的处理器、存储设备,所述存储设备适于存储多条指令,所述指令适于由处理器进行加载并执行任一所述的方法。

本发明的有益效果是:本发明通过在智能终端接收熄屏指令到发送熄屏广播的时间段内,发送自定义广播,所述自定义广播用于提示所述自定义广播的接收方执行对应所述自定义广播的操作;该方法能够利用自定义广播通知相应的应用程序执行所述自定义广播,充分利用智能终端接收熄屏指令到发送熄屏广播的时间段,提高所述智能终端中指令的执行效率。

附图说明

图1是现有技术中前台应用接收广播的方法一实施例的流程示意图;

图2是本发明中前台应用快速接收广播的方法一实施例的流程图;

图3是本发明中前台应用快速接收广播的方法一实施例的流程示意图;

图4是本发明具有存储功能的设备一实施例的结构示意图;

图5是本发明智能终端一实施例的结构示意图。

具体实施方式

请参考图2,图2是本发明前台应用快速接收广播的方法一实施例的流程图,所述方法包括:

s1、智能终端接收熄屏指令;

在所述步骤s1中,所述智能终端接收的熄屏指令可以是按压单个或多个物理按键(如短按电源键、长按电源键或同时按下电源键和音量键等)、触摸操作(如在预设时间内连续多次触摸屏幕)或同时进行按压物理按键和触摸操作,总之,所述熄屏指令为用户预先设置的熄屏指令,所述熄屏指令是指所述智能终端熄灭屏幕并通知应用和系统等多个接收方执行相应的操作,进而达到熄屏状态,所述熄屏状态不仅包括用户可见的屏幕熄灭,还包括用户不可见的设置电池状态,结束一些应用程序和进程及调整系统的状态等。。

进一步的,所述智能终端在接收所述熄屏指令后,需要判断所述熄屏指令是否需要被执行,也就是判断,用户是否真正需要进行熄屏。在一个实施例中,所述智能终端判断智能终端的当前运行环境,当智能终端正在进行截屏操作、通话操作及视频聊天等操作时,则判定其接收到的熄屏指令(如短按电源键)为误操作,不执行所述熄屏指令。这样能有效减少误操作的发生,提高智能终端的运行效率。

s2、所述智能终端响应所述熄屏指令,在发送熄屏广播之前,发送自定义广播,其中,所述自定义广播用于提示所述自定义广播的接收方执行对应所述自定义广播的操作。

在步骤s2中,所述智能终端响应所述熄屏指令,在发送熄屏广播之前,发送自定义广播。具体的,是所述智能终端的系统响应所述熄屏指令发送熄屏广播和所述自定义广播,所述系统可以为android系统或ios系统。请参考图3,图3是本发明中前台应用快速接收广播的方法一实施例的示意图。所述熄屏广播为现有技术,其作用是通知应用和系统等多个接收方执行相应的操作,进而达到熄屏状态,所述熄屏状态不仅包括用户可见的屏幕熄灭,还包括用户不可见的设置电池状态,结束一些应用程序和进程及调整系统的状态等。所述自定义广播用于提示所述自定义广播的接收方执行对应所述自定义广播的操作,正是由于所述熄屏广播包含多种应用和系统等多个接收方执行的操作,不能采用所述自定义广播取代所述熄屏广播,而是利用智能终端接收熄屏指令到发送熄屏广播的时间段,通知应用程序及进程执行一些操作,这些操作可以是包含在所述熄屏广播中的,也可以是为了优化智能终端的运行效率额外添加的,来提高所述智能终端中指令的执行效率。

进一步的,所述自定义广播可以是通知所述前台应用进行熄屏准备的自定义广播或通知所述特定接收方清理无用进程的自定义广播,且所述特定接收方为与所述清理无用进程的自定义广播具有相同目录属性的应用程序。

在一个实施例中,当所述自定义广播的接收方为前台应用时,所述自定义广播是通知所述前台应用进行熄屏准备的自定义广播;发送通知所述前台应用进行熄屏准备的自定义广播的具体步骤:所述智能终端获取前台应用的名称,在一个实施例中,采用事件管理服务(activitymanagerservice)的获取任务(gettask)方法来获得前台应用的名称和事件(activity)类别;之后,所述智能终端将所述通知所述前台应用进行熄屏准备的自定义广播发送给前台应用。

进一步的,响应所述进行熄屏准备的自定义广播的指令包括停止缓存指令,暂停播放音频指令及暂停播放视频指令。所述智能终端在接收所述熄屏指令后,在发出所述熄屏广播之前,向所述前台应用发送所述进行熄屏准备的自定义广播;所述前台应用在接收到所述进行熄屏准备的自定义广播后,进行熄屏前的准备工作,执行停止缓存指令,暂停播放音频指令及暂停播放视频指令等操作,当在接收到所熄屏广播时,前台应用可以立即结束相应进程或应用,缩短接收到所述熄屏广播到结束前台应用或进程的时间,提高熄屏指令的执行效率和实时性。当然,向所述前台应用发送所述进行熄屏准备的自定义广播中,除了提醒前台应用进行所述熄屏准备工作外,还可以携带一些所述熄屏广播中需要系统或应用完成的操作,使得原本在接收到所述熄屏广播后才能够进行的操作,在接收到所述进行熄屏准备的自定义广播后就开始执行或进行准备,进一步提高智能终端中熄屏广播的执行效率和实时性。

当所述自定义广播的接收方为特定接收方时,所述自定义广播为通知所述特定接收方清理无用进程的自定义广播,且所述特定接收方为与所述清理无用进程的自定义广播具有相同目录属性的应用程序。也就是说,只有当所述应用程序中注册的清理无用进程的自定义广播与所述智能终端发送的清理无用进程的自定义广播具有相同的目录属性时,所述应用程序才能接收到所述清理无用进程的自定义广播。这样,所述智能终端发送的所述清理无用进程的自定义广播更具有针对性,清理无用进程的效率更高。在另一个实施例中,所述智能终端发出多个所述清理无用进程的自定义广播,而不同的应用程序在注册的过程中选择了不同的目录属性,就可以接收不同类型的所述清理无用进程的自定义广播,如视频类应用接收到的所述清理无用进程的自定义广播的清理方式可以为先清理缓存数据再关闭所述进程,而只是包含文字的进程接收到的所述清理无用进程的自定义广播的方式可以为直接关闭所述进程。当然,所述不同的所述清理无用进程的自定义广播的目录属性和清理方式可以为系统在出厂前设置的,也可以是用户根据自己的使用习惯进行设置的。

进一步的,所述特定接收方清理无用进程的方法是暂时清理、永久清理中的一种,且在执行清理无用进程操作后的预设时间内,如果所述无用进程不需要再次运行,则通过隐藏方式对所述无用进程进行永久清理;如果所述无用进程需要再次运行,则通过杀死后台进程方式对所述无用进程进行暂时清理。

具体的,在一个实施例中,所述预设时间可以为1-30min,如1min、15min、30min等,也就是说,当处于后台状态的应用进程或应用程序不会在收到所述清理无用进程的自定义广播后1-30min后再次被调用,则可通过事件管理(activitymanager)的隐藏(hide)的方式(forcestoppackage)对所述应用进程进行永久清理,这个方法需要调用方有android.permission.force_stop_packages权限,是系统应用。然后利用反射机制来调用forcestoppackage方法。这个方法的好处是:当应用被force-stop后,无法接收到任何普通广播,不能通过监听手机网络状态的变化或者屏幕亮灭的广播来拉起所述进程;闹钟(alarm)一并被清理,无法实现定时响起的功能;四大组件以及相关进程都被一一剪除清理,即便多进程架构的应用也无法拉起自己,清理较为彻底。在一个实施例中,具体的清理方法包括,级联诛杀:当应用通过classloader加载另一个应用则会在force-stop的过程中会被级联诛杀;生死与共:当一个应用与另一个应用使用了共享的用户id,则会在force-stop的过程,任意一方被杀则另一方也被杀,建立起生死与共的强关系。采用上述方法进行无用进程的清理可以清理掉90%以上的保活策略,和被清理的进程有关联的进程基本都会被清理掉。

另一方面,当处于后台状态的应用进程会在收到所述清理无用进程的自定义广播后1-30min后再次被调用,则可通过事件管理(activitymanager)的采用杀死后台进程(killbackgroundprocesses)的方式对所述应用进程进行暂时清理,所述方法需要权限android.permission.kill_background_processes,使用此方法杀死目标进程后,系统会在需要的时候再次重启我们杀死的进程,另外如果被杀应用是多进程,该进程可以利用多进程来保活,也就是一个进程被清理之后,另一个进程知道后立马又会启动所述进程。

现有技术中,智能终端大量处于后台运行的应用进程耗电量增大,严重占用内存,使得智能终端容易发生局部过热的安全隐患,更会大大降低智能终端的运行速度。虽然,很多智能终端会利用合适的时机进行无用进程的清理,如当智能终端接收到熄屏广播后,一些系统可能会进行清理无用进程的操作,也有一些系统不进行清理无用进程的操作,显然,寻找合适的时机,及时清理无用进程显得非常重要。本实施例中所述的智能终端利用接收所述熄屏指令到发送熄屏广播之间的时间段,向特定应用发送清理无用进程的自定义广播,所述特定应用在接收到所述清理无用进程的自定义广播后,执行所述清理无用进程的操作,有利于提高智能终端的运行安全性和稳定性,更有利于提高智能终端的运行效率。

在一个实施例中,所述智能终端接收熄屏指令之前包括:在所述智能终端的系统中设置所述进行熄屏准备的自定义广播/清理无用进程的自定义广播,同时在应用中注册对应的进行熄屏准备的自定义广播/清理无用进程的自定义广播。这是因为只有注册过相应自定义广播的应用程序才能接收到到所述自定义广播。具体的,在所述智能终端的系统中设置所述自定义广播的过程中,需要进行两方面设置,其一,设置所述自定义广播不能被更改,其他应用也都能访问到,于是我们可以在intent.java(frameworks/base/core/java/android/content/intent.java)文件中参照其他的广播,所述清理无用进程的自定义广播不能被更改,比如:@sdkconstant(sdkconstanttype.broadcast_intent_action)publicstaticfinalstringaction_screen_on_custom="android.intent.action.screen_on_custom"。其二,在框架层中将所述自定义广播设置为受保护的广播,也就是说,所述自定义广播只能让系统发送。因为所述自定义广播主要用来提前获取熄屏指令或清理无用进程指令等指令,所以不能给其他的应用使用,如果其他应用都能使用,就会留下很严重的安全隐患,也会引起系统状态的混乱。

具体的,在一个实施例中,可以在框架层的androidmanifest.xml(frameworks/base/core/res/androidmanifest.xml)中把所述自定义广播定义为受保护的广播,比如:<protected-broadcastandroid:name=”android.intent.action.screen_off_custom”>,这样activitymanagerservice在接受到广播发送的请求时,如果不是所述智能终端的系统发送的被保护的广播,请求就会被拒绝,有利于提高系统的安全性和稳定性。当然,所述自定义广播可以为所述进行熄屏准备的自定义广播/清理无用进程的自定义广播,还可以是其它可以在智能终端接收熄屏指令到发送熄屏广播的时间段发送,由某些应用或进程执行的指令。

在一个实施例中,所述应用中注册所述进行熄屏准备的自定义广播/清理无用进程的自定义广播的方式为动态注册。现有技术中,广播的注册分为动态注册和静态注册,本实施例选择的动态注册,原因有两点:一方面,所述进行熄屏准备的自定义广播/清理无用进程的的自定义广播主要的用途是让已经启动的应用在接收到熄屏广播前可以进行一些熄屏前的准备工作或清理无用进程等指令,如果是静态注册,那么很多没有启动的应用为了接收所述广播也会依次启动,这会大大浪费系统的资源,降低所述熄屏广播的执行效率和实时性,例如,intentmscreenoffintent=newintent(intent.action_screen_off_custom);mscreenoffintent.addflags(intent.flag_receiver_registered_onlyintent.flag_receiver_foreground)。同时,所述进行熄屏准备的自定义广播/清理无用进程的自定义广播的发送方式为并行发送,所有的应用差不多能同收到所述进行熄屏准备的自定义广播/清理无用进程的自定义广播,能够有效提高所述智能终端指令的执行效率。

在一个实施例中,所述进行熄屏准备的自定义广播/清理无用进程的自定义广播的发送方式为并行发送,且所述进行熄屏准备的自定义广播/清理无用进程的自定义广播以前台优先级运行。这是因为,采用并行方式发送所述自定义广播,所有的应用差不多能同收到该广播,能够有效提高所述熄屏广播的发送效率。而现有技术中,广播发送方式分为串行发送和并行发送,尽管所述应用是以动态的形式注册的广播,系统还是会以串行的方式发送广播,尤其是所述应用在串行发送列表中排位靠后时,会显著降低所述应用接受广播的效率。而以前台优先级运行的广播发送速度快,在预设的时间内(如20s、1min)内完成,这样能够提高向所述前台应用发送的进行睡眠/熄屏准备的自定义广播的速度,进一步提高所述熄屏指令的执行效率和实时性。

基于上述方法,本发明还公开了一种具有存储功能的设备,请参考图4,为解决上述技术问题,本发明还采用的一个技术方案是:提供一种具有存储功能的设备100。

其中,其存储有多条指令110,所述指令110适于由处理器加载并执行上述任一所述的方法,所述具有存储功能的设备100为u盘、硬盘及cd等利用电、磁及光能进行数据存储的设备。

基于上述方法,本发明还公开了一种智能终端200,请参考图5,其中,包括:

相互耦合的处理器210、存储设备220,所述存储设备220适于存储多条指令,所述指令适于由处理器210进行加载并执行任一所述的方法,所述智能终端200可以为手机、电脑、平板电脑、服务器、手表及智能穿戴设备等。

综上所述,本发明公开了一种前台应用快速接收广播的方法、存储设备及终端,其中方法包括:智能终端接收熄屏指令;所述智能终端响应所述熄屏指令,在发送熄屏广播之前,发送自定义广播,其中,所述自定义广播用于提示所述自定义广播的接收方执行对应所述自定义广播的操作。通过上述方式,本发明能够利用自定义广播通知相应的应用程序执行所述自定义广播,达到充分利用智能终端接收熄屏指令到发送熄屏广播的时间段,提高所述智能终端中指令的执行效率。

以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1