黑马程序员技术交流社区
标题: Android源码分享,冬日手机锁屏小应用 [打印本页]
作者: 张然龙 时间: 2014-7-12 15:06
标题: Android源码分享,冬日手机锁屏小应用
自己DIY的锁屏apk,第一次发帖,本人是小白,如有问题欢迎指正。
代码参考了之前论坛里的一个教程(具体地址忘了)
MainActivity
1.设置锁屏的开关(ToggleButton) enableBitton,btn_enable_listener监听点击后状态切换
2.全局变量Lockscreen_enable判断是否启动锁屏,若为true,开始donService锁屏服务,若为false则停止服务
3.使用
DonBootService
1.是为了在手机重启后开启继续锁屏程序的监听
donService服务启动
1.onCreate(创建服务)
1)首先注册屏幕开关的IntentFilter,监听屏幕开关的系统事件分别为ACTION_SCREEN_ON,ACTION_SCREEN_OFF,并且设置他们的接受优先级到最高,这样可避免先接收到系统默认锁屏。
2)当然要设置广播接收器(BroacastReceiver)mScreenOffReceiver, mScreenOnReceiver
3)此外还要初始化一个TelephonyManager监听电话状态,因为接听电话时,电话会黑屏,但这时要禁止启动锁屏界面,以免影响通话。
4)初始化一个(Intent)donLockIntent用来启动锁屏界面
2.onDestroy(销毁任务)
1)注销广播接收器,
3.mScreenOnReceiver,mScreenOnReceiver广播接收器
1) 获得KeyguardLock,并禁止其使用,让手机上的按键都无效。
2) abortBroacast,将广播信号丢弃,这样系统默认锁屏就不会启动。
3) 启动锁屏主界面TestLockScreenActivity
4.PhoneStateListener
1) 监听打电话状态,通话过程中禁止启动锁屏界面。
TestLockScreenActivity(锁屏主界面)
1.onCreate:初始化主界面
1) 隐藏状态栏让屏幕全屏显示:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); (隐藏还是有问题,有解决方法的欢迎联系)
2) 设置静态布局 main
3) InitViews()初始化main中各种组件,包括sliderLayout,myClock(数字钟)以及layout_bed
4) 设置sliderLayout的异步控制Handler,收到解锁成功信息后退出界面。
SliderRelatvieLayout
1. onFinishInflate: (Finalize inflating a view from XML. This iscalled as the last phase of inflation, after all child views have been added)
1).在此方法内实现对sliderLayout布局的初始化。包括用findViewID为对应布局组件初始化变量
2)mContext.registerReceiver(message,newIntentFilter("android.provider.Telephony.SMS_RECEIVED")); 增加对收取到短信的监听器
2. onTouchEvent:实现对不同手势的响应
包括 handleActionUpEvent, handleActionDownEvent, handleActionMoveEvent等等实现具体的响应事件。
1) 其中handleActionUpEvent要判断手指下滑位置超过预设位置,若超过则向主界面的Handler发送退出锁屏消息,若没超过执行backDragImgTask线程,被子回复到原来位置;
2) handleActionDownEvent要判断手指下落位置在哪里,如果在被子的区域就执行异步线程motionDown,如果在袜子位置就实现查看短信时间;
motionDown实现手机震动和人物震动事件
3) handleActionMoveEvent执行拖拽被子事件,用异步线程dragImgTask实现
3. messageReceiver监听短信收取:收到短信后,袜子里会出现礼物
MyQuilt
主要实现手势拖拽时,对被子(layout_quilt)的刷新绘制
源码:
testLockScreen.zip
(831.41 KB, 下载次数: 216)
作者: 明远明悦 时间: 2014-7-17 13:16
哈哈哈,加油!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |