如何禁止诺基亚610状态栏下拉的下拉和显示

禁止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'后使用快捷导航没有帐号?
查看: 266|回复: 0
KK 全屏界面禁止状态栏下拉
[DESCRIPTION]
KK上全屏界面如何实现禁止状态栏下拉?
[SOLUTION]
Google从KK开始增加了状态栏透明以及全屏界面有通知可以下拉状态栏的设计,而这个设计出现的隐患是设置了
FULL_SCREEN的界面是无法禁止状态栏下拉的,这样对一些工程测试app可能会造成一定的影响,但是以google默认的设
计,应用端无法修改此设计来满足自己的需求。
内部已经开发提供新的接口来实现全屏界面禁止下拉状态栏,如果贵司的代码还没有这部分逻辑,请参考如下:
1. s\base\core\java\\view\View.java
public static final int SYSTEM_UI_FLAG_IMMERSIVE_STICKY = 0x;
+ * NOTE: Flag for
#setSystemUiVisibility(int)}: It help user to disable
+ * status bar triggered by gesture
+ public static final int SYSTEM_UI_FLAG_IMMERSIVE_GESTURE_ISOLATED = 0x;
2. frameworks\base\policy\src\com\android\internal\policy\impl\PhoneWindowManager.java
// monitor for system gestures
mSystemGestures = new SystemGesturesPointerEventListener(context,
new SystemGesturesPointerEventListener.Callbacks() {
public void onSwipeFromTop() {
+ if (isGestureIsolated())
if (mStatusBar != null) {
requestTransientBars(mStatusBar);
public void onSwipeFromBottom() {
+ if (isGestureIsolated())
if (mNavigationBar != null && mNavigationBarOnBottom) {
requestTransientBars(mNavigationBar);
public void onSwipeFromRight() {
+ if (isGestureIsolated())
if (mNavigationBar != null && !mNavigationBarOnBottom) {
requestTransientBars(mNavigationBar);
public void onDebug() {
+ private boolean isGestureIsolated() {
+ WindowState win = mFocusedWindow != null ? mFocusedWindow :
mTopFullscreenOpaqueWindowS
+ if (win != null && (win.getSystemUiVisibility() &
View.SYSTEM_UI_FLAG_IMMERSIVE_GESTURE_ISOLATED) != 0)
3. 請在修改完framework后,將測試app用setSystemUiVisibility的API加上
SYSTEM_UI_FLAG_IMMERSIVE_GESTURE_ISOLATED的flag
论坛资料为网友自由上传,与本论坛无关。
Powered by
关注一牛微信4633人阅读
android笔录(88)
给系统发送一个广播即可,具体方法如下:
&public void onWindowFocusChanged(boolean hasFocus) {
&&&&&&&& // TODO Auto-generated method stub
&&&&&&&& super.onWindowFocusChanged(hasFocus);
&&&&&&&& sendBroadcast(new Intent(&android.intent.action.CLOSE_SYSTEM_DIALOGS&));
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:182533次
积分:2078
积分:2078
排名:第15806名
原创:57篇
转载:35篇
评论:20条
(1)(2)(2)(2)(1)(1)(3)(1)(3)(1)(10)(2)(15)(3)(13)(26)(7)Android开发之禁止下拉通知栏的方法
作者:nosxcy
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了Android开发之禁止下拉通知栏的方法,实例分析了Android权限控制与Activity相应设置技巧,需要的朋友可以参考下
本文实例讲述了Android开发之禁止下拉通知栏的方法。分享给大家供大家参考,具体如下:
1.在AndroidManifest.xml中添加权限
&uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/&
&uses-permission android:name="android.permission.STATUS_BAR"/&
2.在相应的activity中添加
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
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();
希望本文所述对大家Android程序设计有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具2011年8月 移动平台大版内专家分月排行榜第二2011年7月 移动平台大版内专家分月排行榜第二2011年3月 移动平台大版内专家分月排行榜第二
2012年8月 移动平台大版内专家分月排行榜第三2012年7月 移动平台大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 取消锁屏下拉状态栏 的文章

 

随机推荐