zoukankan      html  css  js  c++  java
  • 禁止Android的StatusBar下拉

    Android中有许多隐藏的Service,StatusBarManager就是其中一个,在Context.java中可以看到:

        /**
         * Use with {@link #getSystemService} to retrieve a {@link
         * android.app.StatusBarManager} for interacting with the status bar.
         *
         * @see #getSystemService
         * @see android.app.StatusBarManager
         * @hide
         */
        public static final String STATUS_BAR_SERVICE = "statusbar";
    

    表明该service不对外提供,如果要调用的话需要在源码树上编译,才能调用到标记为@hide的接口。也可以将源码编译出来的classes.jar包添加到工程里面。


    StatusBarManager提供了一些有用的接口,像disable()方法正是我们需要的,一些系统级的应用也是调用的该方法禁止StatusBar下拉的,比如电话、锁屏模块。想要调用该方法,你还需要以下权限:

        <uses-permission android:name="android.permission.STATUS_BAR" />
        <uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/>

    获取StatusBarManager实例,

    mStatusBarManager = (StatusBarManager) mContext.getSystemService(Context.STATUS_BAR_SERVICE);


    禁止下拉,

    mStatusBarManager.disable(StatusBarManager.DISABLE_EXPAND);


    解除禁止,

    mStatusBarManager.disable(StatusBarManager.DISABLE_NONE);


  • 相关阅读:
    ES权威指南1
    JS易错知识点
    配置中心
    Elasticsearch 2.3.2 从oracle中同步数据
    Logstash同步Oracle数据到ElasticSearch
    从Oracle到Elasticsearch
    JS实现音乐播放器
    压力测试
    spring boot + quartz 集群
    用户体验很好的密码校验js
  • 原文地址:https://www.cnblogs.com/pangblog/p/3249117.html
Copyright © 2011-2022 走看看