如何禁止状态栏下拉的下拉和显示

下次自动登录
现在的位置:
& 综合 & 正文
android禁止状态栏下拉
public void onWindowFocusChanged(boolean hasFocus)
// TODO Auto-generated method stub
System.out.println("hasfocus---&&&" + hasFocus);
super.onWindowFocusChanged(hasFocus);
Object service = getSystemService("statusbar");
Class&?& statusbarManager =
Class.forName("android.app.StatusBarManager");
Method test = statusbarManager.getMethod("collapse");
test.invoke(service);
catch (Exception ex)
ex.printStackTrace();
onWindowFocusChanged是重写Activity里面的方法,当执行这句话是表示activity加载完毕。
记得加权限:
&uses-permission android:name="android.permission.EXPAND_STATUS_BAR" /&
&!-- &uses-permission android:name="android.permission.STATUS_BAR" /& --&
4.1模拟器测试有用,华为c8812测试有用,但是bug存在.........
&&&&推荐文章:
【上篇】【下篇】需求:要做一个全屏界面,同时在全屏状态下,禁止用户下拉状态栏。代码如下:
//禁止下拉
private void prohibitDropDown() {
manager = ((WindowManager) getApplicationContext()
.getSystemService(Context.WINDOW_SERVICE));
WindowManager.LayoutParams localLayoutParams = new WindowManager.LayoutParams();
localLayoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ERROR;
localLayoutParams.gravity = Gravity.TOP;
localLayoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE|
// this is to enable the notification to recieve touch events
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
// Draws over status bar
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
localLayoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
localLayoutParams.height = (int) (50 * getResources()
.getDisplayMetrics().scaledDensity);
localLayoutParams.format = PixelFormat.TRANSPARENT;
view = new CustomViewGroup(this);
manager.addView(view, localLayoutParams);
CustomViewGroup view;
WindowManager manager;
//允许下拉
private void allowDropDown(){
manager.removeView(view);
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mymain);
prohibitDropDown();
protected void onDestroy() {
super.onDestroy();
allowDropDown();
}记得在界面关闭或最小化时调用allowDropDown()方法,否则在其他应用中也无法下拉状态栏了来源:/questions//prevent-status-bar-for-appearing-android-modified
最新教程周点击榜
微信扫一扫禁止Android的StatusBar下拉
中有许多隐藏的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
public static final String STATUS_BAR_SERVICE = &statusbar&;&
&&&& * 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&/&&
&&& &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 = (StatusBarManager) mContext.getSystemService(Context.STATUS_BAR_SERVICE);
禁止下拉,
mStatusBarManager.disable(StatusBarManager.DISABLE_EXPAND);&
mStatusBarManager.disable(StatusBarManager.DISABLE_EXPAND);
解除禁止,
mStatusBarManager.disable(StatusBarManager.DISABLE_NONE);&
mStatusBarManager.disable(StatusBarManager.DISABLE_NONE);
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'查看: 985|回复: 8
& &&&想下拉状态栏看到的是各种开关,而不是通知,怎样才能做到呢,或者干脆关闭所有通知,包括系统的。
请输入验证码:
不管了,凡是不能关闭通知的系统软件一律按删除处置,小米逼的。你不让我关闭,我就让你消失。
来自手机版
你不会往左往右滑一滑吗?
来自手机版
智商低勿用安卓机
海飞 发表于
智商低勿用安卓机
对不起,我是农民,是我错了,请求你的原谅,我什么都不懂,对不起,对不起!
来自手机版
各种开关,,,好像那个第三方的乐视,和OPPO的可以帮你
留恋在明天 发表于
各种开关,,,好像那个第三方的乐视,和OPPO的可以帮你
谢了哈,还是习惯用MIUI,再想想办法吧,谁叫我是强迫症患者
来自手机版
应该只能屏蔽所有通知了吧
来自手机版
有个包,国际版的
移动叔叔. 版权所有,专业的网络售后平台 (
商务合作||||查看: 44464|回复: 11
手机状态栏跟下拉菜单都没有了 怎么办
手机状态栏跟下拉菜单都没有了 怎么办还有壁纸也是黑色 不能改&&明明就是按照美化过程弄得 也不知道怎么回事&&恢复原厂也不行 怎么办啊 求高手
你弄什么来了?
罗少豪 发表于
你弄什么来了?
你是不是用了gmd手势控制?有个功能就是隐藏状态栏背景也变成黑色
本帖最后由 罗少豪 于
14:49 编辑
你是不是用了gmd手势控制?有个功能就是隐藏状态栏背景也变成黑色
设置不隐藏就行啦,还不行就清除gmd程序的数据或卸载重装
没多大事的吧
楼主,你是不是修改了SystemUI.apk文件呢?是不是状态栏不见了,还弹出“SystemUI.apk已停止”呢?
貌似好多人遇到了这问题。。。
你的UI让你改坏了,重刷ROM
SystemUI.apk文件呢?是不是状态栏不见了,还弹出“SystemUI.apk已停止”呢?
估计是这个问题,我的在恢复出厂设置时也出现这一排字母,结果手机下拉状态栏没有了。怎么解决呢?
跟我的一模一样!!!楼主现在解决了吗,求大神

我要回帖

更多关于 android 下拉状态栏 的文章

 

随机推荐