SystemUI 怎样给应用提供禁止下拉状态栏接口?

在Android系统开发中,有时需要禁止下拉状态栏,例如在开机向导等特定场景。虽然Android提供了@Hide的SystemUI接口,但对第三方应用不可用。本文介绍了通过追踪API调用,发现控制逻辑主要在StatusBarManagerService和SystemUI中的StatusBar及PanelBar。通过修改特定值,如SystemProperties或Settings.system,可以实现状态栏下拉的拦截,从而达到禁止下拉的效果。了解更多详情可参考相关文章。
摘要由CSDN通过智能技术生成

        不积跬步无以至千里

        在系统开发的时候常常会遇到某些场景是不让下拉状态栏的,因为上边会有一些控制开关,还有一些通知的跳转,这样就会规避到这个原则,比如开机向导中让你为了一些安全措施必须完成的某些步骤等等.

         在这里系统其实已经为你提供了一个Api接口了,如下:

StatusBarManager mStatusBarManager = (StatusBarManager) context.getSystemService(Context.STATUS_BAR_SERVICE);
// Disable statusbar pull-down
mStatusBarManager.disable(StatusBarManager.DISABLE_EXPAND);

          不过细心的童鞋点进Api中一看这个接口是@Hide的方法,因此对于一些三方的app是不让用的,这个方法好像反射也不行.那怎么办呢?咱们也不能把这个释放开啊,所以还是寻找其它解决办法.因此其实可以通过它控制的逻辑找出突破口.

           其实有兴趣的同学可以看一下我另一篇文章就是对这api的追踪代码,文章链接如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SystemUI专属小号

如果对您有帮助是对我最大的鼓励

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

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

打赏作者

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

抵扣说明:

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

余额充值