用代码实现下拉状态栏

不用手下拉,直接用代码来操作实现下拉状态栏的功能,用反射来实现:

    public static final void collapseStatusBar(Context ctx) {
        Object sbservice = ctx.getSystemService("statusbar");
        try {
            Class<?> statusBarManager = Class.forName("android.app.StatusBarManager");
            Method collapse;
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
                collapse = statusBarManager.getMethod("collapsePanels");
            } else {
                collapse = statusBarManager.getMethod("collapse");
            }
            collapse.invoke(sbservice);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static final void expandStatusBar(Context ctx) {
        Object sbservice = ctx.getSystemService("statusbar");
        try {
            Class<?> statusBarManager = Class.forName("android.app.StatusBarManager");
            Method expand;
            if (Build.VERSION.SDK_INT >= 17) {
                expand = statusBarManager.getMethod("expandNotificationsPanel");
            } else {
                expand = statusBarManager.getMethod("expand");
            }
            expand.invoke(sbservice);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

引用地址:https://gist.github.com/GiitSmile/47a1bbd01b39bb9c9b64

请关注我的微信公众号~

![](http://upload-images.jianshu.io/upload_images/1857762-b6879876b430826c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,251评论 25 708
  • 在梦幻里呆的时间太久, 与现实的距离, 有时会很远, 有时也会很近。 你不敢相信自我的判断, 最终却又接受这个现实。
    小剧在成长阅读 182评论 0 2
  • Augmented Reality,简称AR,是一种实时地计算摄影机影像的位置及角度并加上相应图像的技术,这种技术...
    辉格食品阅读 199评论 0 0
  • 1.减肥:减肥多少年了,从风华正茂到了步入中年,各种偿试各种减肥方法,唯独没有过运动,这个真正能减肥的唯一办法 2...
    悠儿悠阅读 181评论 0 1
  • 因为会议的原因,迟迟回不了家。快六点的时候,儿子打来电话被我拒接。心里担心着饥肠辘辘的儿子,怕他因为妈妈到点回不了...
    苏苏美文阅读 367评论 0 1