怎样禁止下拉通知栏

     Android系统有下拉通知栏(如下图),但是有的项目需要禁止通知栏的下拉。今天找到一个方法,但是该方法在windows下的Eclipse编不过,在Linux服务器里编却能顺利通过。暂时没搞懂什么原因。【补充:源码环境下能编过】

怎样禁止下拉通知栏_第1张图片

 

      首先要在项目的AndroidManifest.xml里面要声明权限:


 

首先要导入StatusBarManager包,并声明一个对象:

import android.app.StatusBarManager;

private StatusBarManager mStatusBarManager;

    然后是初始化:mStatusBarManager = (StatusBarManager) getSystemService(Context.STATUS_BAR_SERVICE);

    下面的函数是禁止下拉通知栏:

public void ProhibitNotificationBar() {  		  
		 mStatusBarManager.disable(StatusBarManager.DISABLE_EXPAND);
	    }

      因为这种禁止的下拉是系统级别的,所以当我们退出时要及时的将其打开,否则所有的应用将无法使用下拉通知栏。打开下拉通知栏代码如下:

public void OpenNotificationBar() {  		  		 
		 mStatusBarManager.disable(StatusBarManager.DISABLE_NONE);
	    }

      补充:该种方法在windows的Eclipse里编不过,但是在Linux的服务器里能编过,不知道是什么原因.....

 

       今天又发现可有模仿视频播放器里,当播放视频的时候自动全屏,当视频结束活着点击屏幕时退出全屏的方法,关键代码如下:

//显示状态栏,Activity不全屏显示(恢复到有状态的正常情况)
	mRLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);	
	//隐藏状态栏,同时Activity会伸展全屏显示
	mRLayout.setSystemUiVisibility(View.INVISIBLE);
	//Activity全屏显示,且状态栏被隐藏覆盖掉。
	mRLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
	//Activity全屏显示,但状态栏不会被隐藏覆盖,状态栏依然可见,Activity顶端布局部分会被状态遮住
	mRLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
	//同mRLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
	mRLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
	//同mRLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
	mRLayout.setSystemUiVisibility(View.SYSTEM_UI_LAYOUT_FLAGS);
	//隐藏虚拟按键(导航栏)
	mRLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
	//状态栏显示处于低能显示状态(low profile模式),状态栏上一些图标显示会被隐藏。
	mRLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);


 


 

你可能感兴趣的:(Android学习笔记)