android5.1系统修改源码实现隐藏底部状态栏、隐藏通知栏、隐藏上方状态栏、永不熄屏的方法
来源:互联网 发布:免费下载圈点软件 编辑:程序博客网 时间:2024/06/02 19:38
结合其他博客的介绍的方法,对android5.1系统源码进行修改实现隐藏底部状态栏、隐藏通知栏、隐藏上方状态栏、永不熄屏等功能。亲测可用
1.隐藏底部状态栏
到android/frameworks/base/policy/src/com/android/internal/policy/impl目录下修改PhoneWindowManager.java文件.
修改方法: 定位到setInitialDisplaySize函数,找到注释
// Height of thenavigation bar when presented horizontally at bottom
将注解下的源代码修改为
mNavigationBarHeightForRotation[mPortraitRotation]=
mNavigationBarHeightForRotation[mUpsideDownRotation]=
//res.getDimensionPixelSize(com.android.internal.R.dimen.navigation_bar_height);
0;
mNavigationBarHeightForRotation[mLandscapeRotation]=
mNavigationBarHeightForRotation[mSeascapeRotation]=
//res.getDimensionPixelSize(com.android.internal.R.dimen.navigation_bar_height_landscape);
0;
2.隐藏通知栏
到android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone目录下打开PhoneStatusBarView.java文件.
找到onTouchEvent()和onInterceptTouchEvent()两个方法,将方法里面的代码注释掉(如下所示),即可实现效果
@Override
public boolean onTouchEvent(MotionEventevent) {
return false;
}
@Override
public booleanonInterceptTouchEvent(MotionEvent event) {
return false;
}
3.隐藏上方的状态栏
到android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone的目录下打开PhoneStatusBar.java文件.
找到addStatusBarWindow()方法,在方法最后加一行代码mStatusBarView.setVisibility(View.GONE);
变为:
private void addStatusBarWindow() {
makeStatusBarView();
mStatusBarWindowManager = newStatusBarWindowManager(mContext);
mStatusBarWindowManager.add(mStatusBarWindow,getStatusBarHeight());
mStatusBarView.setVisibility(View.GONE);
}
到android/frameworks/base/core/res/res/values目录下,打开dimens.xml文件.修改
<dimenname=”status_bar_height”>25dip</dimen>为
<dimenname=”status_bar_height”>0dip</dimen>
4 永不熄屏
到android/frameworks/base/packages/SettingsProvider/res/values目录下,打开defaults.xml文件
修改.<integername="def_screen_off_timeout">6000</integer>为<integername="def_screen_off_timeout">-1</integer>
到android/frameworks/base/services/core/java/com/android/server/power目录下,打开PowerManagerService.java文件.修改getScreenOffTimeoutLocked()函数为:
private int getScreenOffTimeoutLocked(intsleepTimeout) {
int nosleep;
int timeout = mScreenOffTimeoutSetting;
if(isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked()) {
timeout = Math.min(timeout,mMaximumScreenOffTimeoutFromDeviceAdmin);
}
if(mUserActivityTimeoutOverrideFromWindowManager >= 0) {
timeout = (int)Math.min(timeout,mUserActivityTimeoutOverrideFromWindowManager);
}
if (sleepTimeout >= 0) {
timeout = Math.min(timeout,sleepTimeout);
}
nosleep = mScreenOffTimeoutSetting;
if(nosleep <0)
{
nosleep = mMaximumScreenOffTimeoutFromDeviceAdmin;
return Math.max(nosleep,mMaximumScreenOffTimeoutFromDeviceAdmin);
}
return Math.max(timeout,mMinimumScreenOffTimeoutConfig);
}
- android5.1系统修改源码实现隐藏底部状态栏、隐藏通知栏、隐藏上方状态栏、永不熄屏的方法
- 隐藏状态栏的方法
- 修改Framework隐藏系统状态栏
- 隐藏Android 4.0+平板底部状态栏的方法
- 隐藏iphone状态栏的方法
- iOS7隐藏状态栏的方法
- IOS隐藏状态栏的方法
- iOS隐藏状态栏的方法
- ios 隐藏状态栏的方法
- Android 系统栏,状态栏的隐藏
- 系统状态栏隐藏
- 隐藏系统状态栏
- ios 隐藏系统状态栏
- IOS_隐藏系统状态栏
- iOS10隐藏系统状态栏
- Launch 启动全屏 隐藏上方状态栏
- Launch 启动全屏 隐藏上方状态栏
- Android通过修改Framework隐藏系统状态栏
- java基础总结_05
- KVC && KVO
- 99%的人都理解错了HTTP中GET与POST的区别
- 《linux学习》之网络相关
- 树的创建与遍历 叶子数 与深度
- android5.1系统修改源码实现隐藏底部状态栏、隐藏通知栏、隐藏上方状态栏、永不熄屏的方法
- 嵌入式开发12天(虚拟机的环境配置,目录的快捷方式,交叉编译工具的安装,tftp的安装,nfs的安装)
- poj 2318 toys 计算几何+二分
- PAT A1009 Product of Polynomials (25)
- Android Camera 使用小结
- 回归本源,勿忘初心,趋势与未来洞察
- HDOJ 1290 献给杭电五十周年校庆的礼物
- warning: escape sequence 'u' is not valid. see 'help sprintf' for valid escape sequences._
- c# 操作dbf文件时,出现“command contains unrecognized phrase keyword” 的问题