发明内容
针对现有技术中的问题,本发明实施例提供一种桌面锁定控制方法及装置。
具体地,本发明实施例提供了以下技术方案:
第一方面,本发明实施例提供了一种桌面锁定控制方法,包括:
通过广播接收器组件监听Home键和/或多任务键的状态,当确定所述Home键和/或所述多任务键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定;其中,所述目标应用为需要进行桌面锁定的应用;
和/或,
通过重写返回键的按下属性禁用所述返回键,以实现目标应用的桌面锁定。
进一步地,所述通过广播接收器组件监听Home键和/或多任务键的状态,具体包括:
通过广播接收器组件接收到的ACTION_CLOSE_SYSTEM_DIALOGS中intent对象里携带的reason参数确定Home键和/或多任务键的状态,当reason参数为Homekey时,确定所述Home键被触发;当reason参数为recentapps时,确定所述多任务键被触发。
进一步地,在通过广播接收器组件监听Home键和/或多任务键的状态,和/或,通过重写返回键的按下属性禁用返回键之前,所述方法还包括:
判断是否需要进行所述目标应用的桌面锁定;
若判断获知不需要进行所述目标应用的桌面锁定,则通过广播接收器组件监听Home键和/或多任务键的状态,并在确定所述Home键和/或所述多任务键被触发时,返回系统桌面和/或所述多任务键对应的操作桌面;
和/或,
若判断获知不需要进行所述目标应用的桌面锁定,则确保返回键能够正常工作。
进一步地,所述桌面锁定控制方法,还包括:
若判断获知需要进行所述目标应用的桌面锁定,则通过广播接收器组件监听Home键和/或多任务键的状态,并在确定所述Home键和/或所述多任务键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定;和/或,若判断获知需要进行所述目标应用的桌面锁定,则通过重写返回键的按下属性禁用返回键,以实现目标应用的桌面锁定。
第二方面,本发明实施例还提供了一种桌面锁定控制装置,包括:
锁定控制模块,用于通过广播接收器组件监听Home键和/或多任务键的状态,并当确定所述Home键和/或所述多任务键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定;其中,所述目标应用为需要进行桌面锁定的应用;和/或,通过重写返回键的按下属性禁用返回键,以实现目标应用的桌面锁定。
进一步地,所述锁定控制模块在通过广播接收器组件监听Home键和/或多任务键的状态时,具体用于:
通过广播接收器组件接收到的ACTION_CLOSE_SYSTEM_DIALOGS中intent对象里携带的reason参数确定Home键和/或多任务键的状态,当reason参数为Homekey时,确定所述Home键被触发;当reason参数为recentapps时,确定所述多任务键被触发。
进一步地,所述桌面锁定控制装置,还包括:
判断模块,用于判断是否需要进行所述目标应用的桌面锁定;
处理模块,用于在接收到所述判断模块发送的判断结果为不需要进行所述目标应用的桌面锁定时,若通过广播接收器组件监听Home键和/或多任务键的状态为被触发,则返回系统桌面和/或所述多任务键对应的操作桌面;
和/或,
处理模块,用于在接收到所述判断模块发送的判断结果为不需要进行所述目标应用的桌面锁定时,确保返回键能够正常工作。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述桌面锁定控制方法的步骤。
第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述桌面锁定控制方法的步骤。
第五方面,本发明实施例还提供了一种计算机程序产品,其上存储有可执行指令,该指令被处理器执行时使处理器实现如第一方面所述桌面锁定控制方法的步骤。
由上面技术方案可知,本发明实施例提供的桌面锁定控制方法及装置,通过广播接收器组件监听Home键和/或多任务键的状态,当确定所述Home键和/或所述多任务键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定;此外,本发明实施例还可以通过重写返回键的按下属性禁用所述返回键,以实现目标应用的桌面锁定。由此可见,本实施例无需与安卓智能设备厂家合作即可实现目标应用的桌面锁定,简单方便且有效。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明实施例提供的桌面锁定控制方法的流程图。如图1所示,本发明实施例提供的桌面锁定控制方法包括如下步骤:
步骤101:通过广播接收器组件监听Home键和/或多任务键的状态,当确定所述Home键和/或所述多任务键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定;
和/或,
通过重写返回键的按下属性禁用所述返回键,以实现目标应用的桌面锁定。
在对本实施例的内容进行相关介绍之前,先对其中出现的一些名词给予解释说明。
A、广播接收器组件,也即BroadcastReceiver,该组件是一个没有用户界面、专注于接收广播通知信息,并做出对应处理的组件。很多广播源自于系统,比如,通知时区改变、电池电量低、拍摄了一张照片或者用户改变了语言选项。应用程序也可以进行广播,比如说,通知其它应用程序一些数据下载完成并处于可用状态。应用程序可以拥有任意数量的广播接收器以对所有它感兴趣的通知信息予以响应。所有的接收器均继承自BroadcastReceiver基类。
B、PendingIntent,可以看作是对Intent的一个封装,它是满足某些条件或触发某些事件后执行指定的行为。
C、Home键,是微软Windows操作系统、苹果iOS操作系统、谷歌安卓操作系统中具有回到主屏幕功能的键。
D、多任务键,是指微软Windows操作系统、苹果iOS操作系统、谷歌安卓操作系统中具有回到最近操作的多个应用功能的键。
E、返回键,是指微软Windows操作系统、苹果iOS操作系统、谷歌安卓操作系统中具有回到上一步操作界面功能的键。
F、按下属性,也即onKeyDown属性,onKeyDown属性代表的是键盘按下,也就是指的是按下手机或其他智能设备上的一些按键,例如返回键、多任务键、音量键等等,本实施例中重写这个方法的目的是为了禁用返回键。
G、目标应用,为需要进行桌面锁定的应用。例如,在某些办公场合,需要让员工使用指定的工作应用软件,而限制其退出使用其他应用程序。这种场景下,所述目标应用即为需要让员工使用指定的工作应用软件。
H、桌面锁定,是指限制退出当前正在运行的目标应用。
在对上述名词的含义解释完以后,下面对本实施例提供的桌面锁定控制方法进行说明。
在本实施例中。锁定桌面方案的主要是通过广播接收器组件BroadcastReceiver监听Home键和/或多任务键的状态,当确定所述Home键和/或所述多任务键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定。需要说明的是,由于前台App退到后台会有广播ACTION_CLOSE_SYSTEM_DIALOGS,收到广播携带的intent之后,解析里面的"reason"参数,就可以知道退出的原因。例如,Home键按下后,reason是"Homekey",多任务键按下后,reason是"recentapps"。以此可以监听Home键和多任务键。在监听到Home键或多任务键按下之后,需要重新启动目标应用,以保证目标应用的桌面锁定。然而,在通过监听Home键和多任务键被触发而重新启动目标应用时,若采用执行startActivity的方式启动目标应用,则会有5秒的延迟,为绕开这个5秒的延迟,本实施例通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定。为更清楚解释该问题,补充说明如下:startActivity在Android中指的是启动一个界面,这个界面通常使用Intent来执行,但如果使用普通的Intent在Home键按下之后调用startActivity需要5秒后才会被系统响应,所以本实施例使用了PendingIntent,使用PendingIntent可以绕过5秒的限制,因此,使用PendingIntent才可达到本实施例的目的。
此外,在本实施例中,需要说明的是,除了按下Home键或多任务键能够破坏桌面锁定以外,按下返回键也能够破坏桌面锁定。对于按下返回键的情况,只需要重写onKeyDown属性禁用所述返回键即可达到效果。
由此可见,本实施例由于在Home键和多功能键按下后通过BroadcastReceiver来得知用户按下了Home键和多功能键,然后通过PendingIntent来重启目标应用,由于PendingIntent可以绕开5秒的启动延迟,因此实现所述目标应用的桌面锁定。此外,本实施例还可以通过重写Android的onKeyDown属性来禁用掉返回键,通过这些手段来让需要进行桌面锁定的目标应用一直处于桌面上,因此实现了桌面锁定的效果。
在本实施例中,包括多种并列方案:
①通过广播接收器组件BroadcastReceiver监听Home键的状态,当确定所述Home键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定。
②通过广播接收器组件BroadcastReceiver监听多任务键的状态,当确定所述多任务键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定。
③通过重写返回键的onKeyDown属性禁用所述返回键,以实现目标应用的桌面锁定。
④通过广播接收器组件BroadcastReceiver监听Home键和监听多任务键的状态,当确定所述Home键或所述监听多任务键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定。
⑤通过广播接收器组件BroadcastReceiver监听Home键的状态,当确定所述Home键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定;
以及,通过重写返回键的onKeyDown属性禁用所述返回键,以实现目标应用的桌面锁定。
⑥通过广播接收器组件BroadcastReceiver监听多任务键的状态,当确定所述多任务键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定;
以及,通过重写返回键的onKeyDown属性禁用所述返回键,以实现目标应用的桌面锁定。
⑦通过广播接收器组件BroadcastReceiver监听Home键和监听多任务键的状态,当确定所述Home键或所述监听多任务键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定;
以及,通过重写返回键的onKeyDown属性禁用所述返回键,以实现目标应用的桌面锁定。
在本实施例中,需要说明的是,在进行目标应用的桌面锁定时,可以仅监控Home键(正如方案①一样),也可以仅监控多功能键(正如方案②一样),也可以仅重写返回键的onKeyDown属性禁用返回键(正如方案③一样),也可以将其中的任意两项进行结合(正如方案④⑤⑥一样)。不过最优的方案是将上述三项同时结合(正如方案⑦一样),这样能够最大程度的保证桌面锁定的效果,避免用户通过各种手段退出当前目标应用。
由上面技术方案可知,本发明实施例提供的桌面锁定控制方法,通过广播接收器组件BroadcastReceiver监听Home键和/或多任务键的状态,当确定所述Home键和/或所述多任务键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定;此外,本发明实施例还可以通过重写返回键的onKeyDown属性禁用所述返回键,以实现目标应用的桌面锁定。由此可见,本实施例无需与安卓智能设备厂家合作即可实现目标应用的桌面锁定,简单方便且有效。
进一步地,基于上述实施例的内容,在本实施例中,所述通过广播接收器组件BroadcastReceiver监听Home键和/或多任务键的状态,具体包括:
通过广播接收器组件BroadcastReceiver接收到的ACTION_CLOSE_SYSTEM_DIALOGS中intent对象里携带的reason参数确定Home键和/或多任务键的状态,当reason参数为Homekey时,确定所述Home键被触发;当reason参数为recentapps时,确定所述多任务键被触发。
在本实施例中,由于在每次点击Home按键时都会发出一个action为Intent.ACTION_CLOSE_SYSTEM_DIALOGS的广播,它是关闭系统Dialog的广播,因此可以通过注册它来监听Home按键消息。当广播接收器组件BroadcastReceiver接收到的ACTION_CLOSE_SYSTEM_DIALOGS中intent对象里携带的reason参数为Homekey时,由于reason参数表示关闭系统Dialog的原因,当reason参数为Homekey时,由于Homekey表示Home键,因此,可以确定所述Home键被触发;当reason参数为recentapps时,由于recentapps表示多任务键,因此,可以确定所述多任务键被触发,因此,可以根据BroadcastReceiver接收到的ACTION_CLOSE_SYSTEM_DIALOGS中intent对象里携带的reason参数确定Home键和/或多任务键是否被触发(按下)。
进一步地,基于上述实施例的内容,在本实施例中,在通过广播接收器组件BroadcastReceiver监听Home键和/或多任务键的状态,和/或,通过重写返回键的onKeyDown属性禁用返回键之前,所述方法还包括:
判断是否需要进行所述目标应用的桌面锁定;
若判断获知不需要进行所述目标应用的桌面锁定,则通过广播接收器组件BroadcastReceiver监听Home键和/或多任务键的状态,并在确定所述Home键和/或所述多任务键被触发时,返回系统桌面和/或所述多任务键对应的操作桌面;
和/或,
若判断获知不需要进行所述目标应用的桌面锁定,则确保返回键能够正常工作。
在本实施例中,增加了是否需要进行所述目标应用的桌面锁定的判断,如果经判断获知不需要进行桌面锁定,则当Home键被按下时,正常进行返回系统桌面的操作,以及,当多任务键被按下时,正常返回多任务键对应的操作桌面。此外,对于返回键来说,如果经判断获知不需要进行桌面锁定,则不用重写返回键的onKeyDown属性禁用所述返回键,而是保证返回键能够正常工作,即当返回键被按下时,能正常返回上一步的操作界面。
进一步地,基于上述实施例的内容,在本实施例中,所述桌面锁定控制方法,还包括:
若判断获知需要进行所述目标应用的桌面锁定,则通过广播接收器组件BroadcastReceiver监听Home键和/或多任务键的状态,并在确定所述Home键和/或所述多任务键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定;和/或,若判断获知需要进行所述目标应用的桌面锁定,则通过重写返回键的onKeyDown属性禁用返回键,以实现目标应用的桌面锁定。
在本实施例中,增加了是否需要进行所述目标应用的桌面锁定的判断,如果经判断获知需要进行桌面锁定,则监听Home键和/或多任务键的状态,并在确定所述Home键和/或所述多任务键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定。此外,如果经判断获知需要进行桌面锁定,则需要重写返回键的onKeyDown属性禁用返回键,以实现目标应用的桌面锁定。
下面结合图2所示的内容对本实施例提供的桌面锁定控制方法进行详细说明。如图2所示,一共有3个分支,分别为监听Home键、监听多任务键以及重写返回键。
具体来说,通过广播接收器组件BroadcastReceiver监听Home键的状态,当确定所述Home键被按下时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定;
通过广播接收器组件BroadcastReceiver监听多任务键的状态,当确定所述多任务键被按下时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定;
通过重写返回键的onKeyDown属性禁用所述返回键,以实现目标应用的桌面锁定。
由此可见,本实施例提供的锁定桌面方案,可以在不与任何手机厂家合作的前提下,达到锁定桌面的效果,而且实现起来较为简单方便。
图3示出了本发明实施例提供的桌面锁定控制装置的结构示意图。如图3所示,本发明实施例提供的桌面锁定控制装置包括:锁定控制模块21,其中:
锁定控制模块21,用于通过广播接收器组件监听Home键和/或多任务键的状态,并当确定所述Home键和/或所述多任务键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定;其中,所述目标应用为需要进行桌面锁定的应用;和/或,通过重写返回键的按下属性禁用返回键,以实现目标应用的桌面锁定。
进一步地,基于上述实施例的内容,在本实施例中,所述锁定控制模块在通过广播接收器组件监听Home键和/或多任务键的状态时,具体用于:
通过广播接收器组件接收到的ACTION_CLOSE_SYSTEM_DIALOGS中intent对象里携带的reason参数确定Home键和/或多任务键的状态,当reason参数为Homekey时,确定所述Home键被触发;当reason参数为recentapps时,确定所述多任务键被触发。
进一步地,基于上述实施例的内容,在本实施例中,所述桌面锁定控制装置,还包括:
判断模块,用于判断是否需要进行所述目标应用的桌面锁定;
处理模块,用于在接收到所述判断模块发送的判断结果为不需要进行所述目标应用的桌面锁定时,若通过广播接收器组件监听Home键和/或多任务键的状态为被触发,则返回系统桌面和/或所述多任务键对应的操作桌面;
和/或,
处理模块,用于在接收到所述判断模块发送的判断结果为不需要进行所述目标应用的桌面锁定时,确保返回键能够正常工作。
进一步地,基于上述实施例的内容,在本实施例中,所述锁定控制模块,用于在接收到所述判断模块发送的需要进行所述目标应用的桌面锁定的判断结果时,通过广播接收器组件监听Home键和/或多任务键的状态,并在确定所述Home键和/或所述多任务键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定;
和/或,
所述锁定控制模块,用于在接收到所述判断模块发送的需要进行所述目标应用的桌面锁定的判断结果时,通过重写返回键的按下属性禁用返回键,以实现目标应用的桌面锁定。
在本实施例中,需要说明的是,本发明实施例的装置中的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
由于本发明实施例提供的桌面锁定控制装置,可以用于执行上述实施例所述的桌面锁定控制方法,其工作原理和有益效果类似,故此处不再详述,具体内容可参见上述实施例的介绍。
基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图4,所述电子设备具体包括如下内容:处理器401、存储器402、通信接口403和通信总线404;
其中,所述处理器401、存储器402、通信接口403通过所述通信总线404完成相互间的通信;
所述处理器401用于调用所述存储器402中的计算机程序,所述处理器执行所述计算机程序时实现上述桌面锁定控制方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:通过广播接收器组件监听Home键和/或多任务键的状态,当确定所述Home键和/或所述多任务键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定;其中,所述目标应用为需要进行桌面锁定的应用;和/或,通过重写返回键的按下属性禁用所述返回键,以实现目标应用的桌面锁定。
可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。
基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述桌面锁定控制方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:通过广播接收器组件监听Home键和/或多任务键的状态,当确定所述Home键和/或所述多任务键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定;其中,所述目标应用为需要进行桌面锁定的应用;和/或,通过重写返回键的按下属性禁用所述返回键,以实现目标应用的桌面锁定。
可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。
基于相同的发明构思,本发明又一实施例提供了一种计算机程序产品,其上存储有可执行指令,该指令被处理器执行时使处理器实现上述桌面锁定控制方法的全部步骤,例如,该指令被处理器执行时使处理器实现下述过程:通过广播接收器组件监听Home键和/或多任务键的状态,当确定所述Home键和/或所述多任务键被触发时,通过PendingIntent重启目标应用,以实现所述目标应用的桌面锁定;其中,所述目标应用为需要进行桌面锁定的应用;和/或,通过重写返回键的按下属性禁用所述返回键,以实现目标应用的桌面锁定。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的桌面锁定控制方法。
此外,在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
此外,在本发明中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。