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);