一种Android终端及其实现锁屏动画的方法

文档序号:6369347阅读:564来源:国知局
专利名称:一种Android终端及其实现锁屏动画的方法
技术领域
本发明涉及终端设备领域,尤其涉及一种Android终端及其实现锁屏动画的方法。
背景技术
目前,市场上的智能手机,还没有锁屏动画这个动能。虽然有一些应用软件,可以设置自己喜欢的锁屏动画,如Android市场上比较流行的Sleepfx,实现方法是通过注册DeviceReceiver,使其具有Admin权限,启动应用时,播放自己做好的动画,然后通过其拥有Admin权限,启动系统睡眠。但是,这种锁屏动画的实现方式,在POWER按键(开关机按键,Android手机同时用于控制系统休眠,故可称为休眠键)被触动或手机休眠时间到 (timeout)时,系统根本就不能接收到设置的动画效果,故无法显示动画。并且,这种第三方 应用设定的动画效果,所采用的技术复杂,修改麻烦,而且能实现的效果单一。现有Slei5pfx的这些缺点往往使用户陷入困扰,降低锁屏动画的可用性。

发明内容
本发明要解决的主要技术问题是,提供一种Android终端及其实现锁屏动画的方法,其可实现锁屏动画,并且其在触动休眠键或休眠时间到的激发状态下依然能正常显示锁屏动画。为解决上述技术问题,本发明提供一种Android终端实现锁屏动画的方法,其步骤为监听系统发出的睡眠消息;当监听到所述睡眠消息时,对其进行截断,同时向系统广播一个自定义消息;广播接收器在收到所述自定义消息后,先后启动两个Activity(活动),并在两个Activity (活动)之间增加补间动画文件;通过系统提供的接口,播放所述补间动画文件;动画播放完之后,调用系统的睡眠的接口,结束所述第二个Activity进程,系统重新回到睡眠的动作;系统进入睡眠。所述睡眠消息为在休眠键闭合或者休眠时间到时生成。所述先后启动两个Activity的过程为先启动第一个Activity,并将其设为透明;再重新启动第二个Activity,在第二个Activity启动时终止所述第一个Activity。所述增加的补间动画文件的共有两个,一个用于所述第一个Activity退出,一个用于所述第二个Activity进入,通过这两个文件来重写系统的Activity切换的动画,所述重新启动的第二个Activity置于界面外。还包括动画效果修改步骤,该步骤对用户提供一个接口,接口内具有修改所述补间动画文件的动画属性的参数项。一种Android终端,包括监听模块,用于监听系统发出的睡眠消息;截取模块,用于在监听到所述睡眠消息时,对其进行截断,同时向系统广播一个自定义消息;广播接收器,用于在收到所述自定义消息后,先后启动两个Activity,并在两个Activity之间增加补间动画文件;显示屏,用于通过系统提供的接口,播放所述补间动画文件;调用模块,用于动画播放完之后,调用系统的睡眠的接口,结束所述第二个Activity进程,使系统重新回到睡眠的动作;睡眠模块,用于控制系统进入睡眠。还包括休眠键和/或休眠时间定义模块,用于控制生成睡眠消息。还包括Activity启动控制模块,用于控制先启动第一个Activity并将其设为透明,再重新启动第二个Activity,并在第二个Activity启动时终止所述第一个Activity。还包括两个补间动画文件,其中一个用于所述第一个Activity退出,另一个用于所述第二个Activity进入。还包括存储模块,存储模块中包括有xml的文件,所述xml的文件用于存储及修改所述补间动画文件。本发明的有益效果是一种Android终端及其实现锁屏动画的方法,通过监听并 截断系统的睡眠消息,启动两个Activity,并在两个Activity插入补间动画,在动画播完后再回到睡眠动作;该方法及装置有效实现锁屏动画,与系统结合紧密,在触动休眠键或休眠时间到的激发状态下能正常显示锁屏动画,不会有出错情况。进一步的,模块独立性高,修改方便,只需要修改补间动画文件就可以改变效果,不需要改动其它模块;模块扩展性大,通过补间动画来做各种效果,安卓系统本身补间动画的接口比较多,可以实现的效果也比较多;相对于对第三方的应用来说整体架构更合理,可以跟系统的锁屏事件很好的结合起来。


图I为本发明Android终端实现锁屏动画的方法一种实施例的流程图。
具体实施例方式下面通过具体实施方式
结合附图对本发明作进一步详细说明。一种Android终端,包括监听模块,用于监听系统发出的睡眠消息(睡眠是由系统的PowerManagerService统一管理);截取模块,用于在监听到所述睡眠消息时,对其进行截断,同时向系统广播一个自定义消息(自己的消息,因为Android系统本身定义了很多的消息,为了不跟系统的一些消息冲突,所以自定义一个消息);广播接收器(广播接收器是Android四大组件之一,用于Android系统各个组件之间的相互通信),用于在收到所述自定义消息后,先后启动两个Activity,并在两个Activity之间增加补间动画文件;显示屏,用于通过系统提供的接口(接口相当于一个启发开关,当接口触动后,系统进行一系列的自动控制),播放所述补间动画文件;调用模块,用于动画播放完之后,调用系统的睡眠的接口,结束所述第二个Activity进程,使系统重新回到睡眠的动作;睡眠模块,用于控制系统进入睡眠。实施时,还包括休眠键和/或休眠时间定义模块,用于控制生成睡眠消息。实施时,还包括Activity启动控制模块,用于控制先启动第一个Activity并将其设为透明(避免遮挡后面的动画效果),再重新启动第二个Activity,并在第二个Activity启动时终止所述第一个Activity。实施时,还包括两个补间动画文件,其中一个用于所述第一个Activity退出,另一个用于所述第二个Activity进入。
实施时,还包括存储模块,存储模块中包括有xml的文件,用于存储及修改所述补间动画文件。修改动画效果时,可以直接将xml的文件中的补间动画文件更换掉,也可以通过修改动画属性参数来改变显示效果。通过一个文件将锁屏动画呈现给用户,用户自定义更改动画方便、简单、不易出错。一种Android终端实现锁屏动画的方法,步骤为监听系统发出的睡眠消息; 当监听到所述睡眠消息时,对其进行截断,同时向系统广播一个自定义消息(当然,在
未监听到所述睡眠消息时不做响应);广播接收器在收到所述自定义消息后,先后启动两个Activity,并在两个Activity之间增加补间动画文件;通过系统提供的接口,播放所述补间动画文件;动画播放完之后,调用系统的睡眠的接口,结束所述第二个Activity进程,系统重新回到睡眠的动作;系统进入睡眠。实施时,所述睡眠消息为在休眠键闭合或者休眠时间到时生成。实施时,所述先后启动两个Activity的过程为先启动第一个Activity,并将其设为透明;再重新启动第二个Activity,在第二个Activity启动时终止所述第一个Activity。这样就可以通过重写这两个Activity切换效果,这样才能看到当前界面退出的动画效果。实施时,所述增加的补间动画文件的共有两个,一个用于所述第一个Activity退出,一个用于所述第二个Activity进入,所述重新启动的第二个Activity置于界面外。这样仅显示补间动画文件中的一个,保证了锁屏动画的画面的流畅性。当然,实施时,第二个Activity也可以不置于界面外,而只是将第二个Activity设为透明,但是这样对应第一个Activity退出时的动画效果与第二个Activity启动时候的动画效果之间,会有重叠或错开播放的情况,会影响显示效果。实施时,还包括动画效果修改步骤,该步骤对用户提供一个接口,接口内具有修改所述补间动画文件的动画属性的参数项。方便用户对显示效果的简易调整。实施时,该接口还用于存储及更换所述补间动画文件。方便用户根据需要,自定义锁屏动画效果。操作简单、不受系统束缚。对于本发明(前述)Android终端及其实现锁屏动画的方法中
具体的,通过系统提供的接口,播放所述补间动画文件是指调用系统接口 overridePendingTransition(R. anim. gotosleep_enter, R. anim. gotosleep_exit);
其中gotosleep_enter, gotosleep_exit,就是定义的两个动画文件,通过调用系统接口overridePendingTransition设置Activity切换的动画,系统就会播放这两个动画。具体的,所述第一个Activity是一个辅助性的Activity (我将他命名为helpStart,意思也就是他只是一个辅助性的),因为overridePendingTransition必须是两个Activiy切换,该接口才有效的。所述第二个Activity :同理,overridePendingTransition 必须是两个 Activiy 切换。具体的,所述界面外,是指显示的区域范围外。以下为实施时定义的文件
〈set xmlns:android=〃http://schemas, android. com/apk/res/android〃>
〈translate android: fromYDelta = //100. 0%" android: toYDelta = //100. 0%〃android:duration=〃800〃/>〈/set>
0—%100是在显示范围内,100. 0%是显示范围外,因为用户看到的动画是当前界面的进入睡眠的一个动画效果,所以,新建的那个Activity (第二个Activity)就不能显示出来,只能让他在显示区域外面,用户看到的就是当前这个画面的动画效果。具体的,所述“该步骤对用户提供一个接口,接口内具有修改所述补间动画文件的动画属性的参数项”这个就是动画文件gotosleep_exit. xml
〈set xmlns:android=〃http://schemas, android. com/apk/res/android〃
android:interpolator=〃@android:anim/accelerate_interpolator〃>〈scale android:fromYScale=〃l. 0〃 android:toYScale=〃0. 2〃android:fromXScale=〃L 0〃 android:toXScale=〃l. 0〃android:pivotX=〃50%〃 android:pivotY=〃50%〃
android:duration=//iandroid:integer/config_mediumAnimTime〃 />〈scale android:fromYScale=〃0· 6〃 android:toYScale=〃0. 0〃android:fromXScale=〃L 0〃 android:toXScale=〃0. 0〃 android:pivotX=〃50%〃 android:pivotY=〃50%〃
android:start0ffset=//iandroid:integer/config_mediumAnimTime〃
android:duration=〃@android:integer/config_mediumAnimTime〃 /></
set>
动画的属性可以自己改,fromYScale, fromXScale等都可以自己改,也可以自己添加,因为补间动画是Android最基本的动画文件,对于Android开发者大家都懂得,所以大家通过修改补间动画文件来修改睡眠动画是相当方便。下面结合如图I所示的,一种Android终端实现锁屏动画的方法的实施例,来具体说明,其步骤包括
1、按下Power键,或者休眠时间到的时候,系统会发出一个进入睡眠消息,控制马上进行进入睡眠动作,所以我们首先要把这个系统动作截取掉(截断),并向系统广播一个我们自己的消息(自定义广播或说自定义消息),进入到自己的动画架构;
2、当收到这个消息(广播)之后,先基于当前的Activity启动一个Activityl(第一个活动),并将其设为透明;
3、Finish(终止)上次启动的Activityl,再重新启动一个Activity2 (第二个活动),这样就可以在这里新增两个补间动画文件,一个用于Activityl退出,一个用于Activity2进入,用这两个文件来重写系统的Activity切换的动画,将重新启动的Activity2置于界面外,又由于Activityl是透明的;这样用户看到的就是当前Activity进入到睡眠的一系列绚丽的动画;
4、动画播放完之后,系统重新回到睡眠的动作,结束Activity2进程,这样系统就可以进入睡眠;
5、给用户提供了一个接口,该接口是一个名字为gotosleep_exit.xml的文件,这是一个简单的补间动画文件,可以根据Android本身提供的动画属性(放大缩小,旋转,alpha变化,位移),来修改里面的动画内容,或者直接更换里面的动画内容,就可以根据自己的需要来实现各种动画效果。具体的,步骤3,通过这两个文件来重写系统的Activity切换的动画是指overridePendingTransition(R. anim. gotosleep_enter, R. anim. gotosleep_exit);因为系统本身默认的Activity切换动画效果,而通过系统接口 overridePendingTransition方法,重写Activity切换动画效果,Activity切换动画效果就变成自己定义的动画效果了。本发明是在系统的框架内加入我们一套自己的实现睡眠动画的接口,能够很好接收系统睡眠信息。其主要实现是通过补间动画实现,提供给用户一个XML文件作接口,用户可以简单修改补间动画的参数就可以做出各种动画,具有修改方便简单,而且实现动画效果多样,效果绚丽等优点。以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发 明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
权利要求
1.一种Android终端实现锁屏动画的方法,其特征在于,步骤为 监听系统发出的睡眠消息; 当监听到所述睡眠消息时,对其进行截断,同时向系统广播一个自定义消息; 广播接收器在收到所述自定义消息后,先后启动两个Activity,并在两个Activity之间增加补间动画文件; 通过系统提供的接口,播放所述补间动画文件; 动画播放完之后,调用系统的睡眠的接口,结束所述第二个Activity进程,系统重新回到睡眠的动作; 系统进入睡眠。
2.如权利要求I所述的Android终端实现锁屏动画的方法,其特征在于,所述睡眠消息为在休眠键闭合或者休眠时间到时生成。
3.如权利要求I所述的Android终端实现锁屏动画的方法,其特征在于,所述先后启动两个Activity的过程为先启动第一个Activity,并将其设为透明;再重新启动第二个Activity,在第二个Activity启动时终止所述第一个Activity。
4.如权利要求I所述的Android终端实现锁屏动画的方法,其特征在于,所述增加的补间动画文件的共有两个,一个用于所述第一个Activity退出,一个用于所述第二个Activity进入,所述重新启动的第二个Activity置于界面外。
5.如权利要求I至4任一项所述的Android终端实现锁屏动画的方法,其特征在于,还包括动画效果修改步骤,该步骤对用户提供一个接口,接口内具有修改所述补间动画文件的动画属性的参数项。
6.一种Android终端,其特征在于,包括 监听模块,用于监听系统发出的睡眠消息; 截取模块,用于在监听到所述睡眠消息时,对其进行截断,同时向系统广播一个自定义消息; 广播接收器,用于在收到所述自定义消息后,先后启动两个Activity,并在两个Activity之间增加补间动画文件; 显示屏,用于通过系统提供的接口,播放所述补间动画文件; 调用模块,用于动画播放完之后,调用系统的睡眠的接口,结束所述第二个Activity进程,使系统重新回到睡眠的动作; 睡眠模块,用于控制系统进入睡眠。
7.如权利要求6所述的Android终端,其特征在于,还包括休眠键和/或休眠时间定义模块,用于控制生成睡眠消息。
8.如权利要求6所述的Android终端,其特征在于,还包括Activity启动控制模块,用于控制先启动第一个Activity并将其设为透明,再重新启动第二个Activity,并在第二个Activity启动时终止所述第一个Activity。
9.如权利要求6所述的Android终端,其特征在于,还包括两个补间动画文件,其中一个用于所述第一个Activity退出,另一个用于所述第二个Activity进入。
10.如权利要求6所述的Android终端,其特征在于,还包括存储模块,存储模块中包括有xml的文件,用于存储及修改所述补间动画文件。
全文摘要
本发明公开了一种Android终端及其实现锁屏动画的方法,涉及终端设备领域,其通过监听并截断系统的睡眠消息,启动两个Activity,并在两个Activity插入补间动画,在动画播完后再回到睡眠动作;该方法及装置有效实现锁屏动画,与系统结合紧密,在触动休眠键或休眠时间到的激发状态下能正常显示锁屏动画,不会有出错情况。
文档编号G06F9/48GK102662755SQ20121014446
公开日2012年9月12日 申请日期2012年5月11日 优先权日2012年5月11日
发明者不公告发明人 申请人:禹芙蓉
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1