2017.8.14--2017.8.25关于android取消下拉状态栏

A.   关于android取消下拉状态栏

需要全屏,且不能让状态栏下拉出来的需求,修改记录

1.frameworks/base/core/java/android/provider/Settings.java

public static final String STATUS_BAR_DISABLED = "status_bar_disabled"; 

public final class Settings {

........

,STATUS_BAR_DISABLED

}

2.frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java

public class PhoneWindowManager implements WindowManagerPolicy {

public void onSwipeFromTop() {

if (isGestureIsolated())

return;

.....

}

public void onSwipeFromBottom(){

if (isGestureIsolated())

return;

.....

}

......

private boolean isGestureIsolated() {

boolean ret = false;

ret = Settings.System.getInt(mContext.getContentResolver(),"status_bar_disabled", 0) == 1;

return ret;

}

}

3.需要禁止下拉状态栏的activity里面的具体调用

import android.provider.Settings;

@Override

protected void onResume() {

super.onResume();

Settings.System.putInt(getContentResolver(), "status_bar_disabled", 1);

}

@Override

protected void onPause() {

super.onPause();

Settings.System.putInt(getContentResolver(), "status_bar_disabled", 0);

}


下述,跟上述的问题无关,可以忽略哦!

修改1,2这种frameworks/base下的文件后,需要make update-api  -j8,  

操作后会生成frameworks/base/api/current.txt, 以及frameworks/base/api/system-current.txt,

需要跟上述修改一起提交,以免其他成员碰到直接make出现编译不过的问题。


B 获取屏幕尺寸,此还未调好。

//getWindowManager().getDefaultDisplay().getMetrics(mDisplayMetrics);
+       getWindowManager().getDefaultDisplay().getRealMetrics(mDisplayMetrics);



猜你喜欢

转载自blog.csdn.net/yhy08090/article/details/77574392