Android SystemUI锁屏解锁无效不灵敏--放宽解锁条件限制

Android锁屏界面默认是上滑解锁进入Launcher页面的,原生的上滑解锁不太好用解锁有点困难,所以产品需求要求查找源码解决这个问题,所以这就需要从滑动解锁流程分析来解决问题。滑动锁屏是一个id为notification_panel的自定义ViewGroup,对应类NotificationPanelView,继承PanelView,我们需要找到滑动锁屏的TouchEvent事件分发,当用户在滑动锁屏上滑的速度和距离满足一定条件之后,滑动锁屏就会解锁,这时候如果有密码锁屏就会显示,没有就直接解锁,我们来看onTouchEvent方法,主要看Move事件就行了

/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java

onTouchEvent

	@Override
    public boolean onTouchEvent(MotionEvent event) {
		...
	 switch (event.getActionMasked()) {
		case MotionEvent.ACTION_DOWN:
				...
			 break;
	    case MotionEvent.ACTION_MOVE:
	             //滑动Y轴的距离
                float h = y - mInitialTouchY; 
                if (Math.abs(h) > mTouchSlop
                        && (Math.abs(h) > Math.abs(x - mInitialTouchX)
                        || mIgnoreXTouchSlop)) {
                    mTouchSlopExceeded = true;
                   	...
                   	//设置mTracking为true,代表滑动锁屏开始...
                    onTrackingStarted();
                }
                 ...
                //阙值判断,getFalsingThreshold获取
                //R.dimen.unlock_falsing_threshold(80dp)的值,然后
                //乘上一个系数,1或者1.5
                if (-h >= getFalsingTh
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灵魂剑客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值