修改
“ frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java ”
req = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE; // 将应用的的横竖屏属性强制设为 LANDSCAPE
@@ -4407,7 +4407,7 @@ public class WindowManagerService extends IWindowManager.Stub
if (req == ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED) {
req = getOrientationFromAppTokensLocked();
}
-
+ req = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE; // 强制横屏
if (req != mForcedAppOrientation) {
mForcedAppOrientation = req;
boolean updateOrientationFromAppTokensLocked(boolean inTransaction) {
long ident = Binder.clearCallingIdentity();
try {
int req = getOrientationFromWindowsLocked();
if (req == ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED) {
req = getOrientationFromAppTokensLocked();
}
///
// Not a LANDSCAPE or PORTRAIT, then force to LANDSCAPE.
if (req != ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE &&
req != ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) {
req = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
}
///
if (req != mForcedAppOrientation) {
mForcedAppOrientation = req;
//send a message to Policy indicating orientation change to take
//action like disabling/enabling sensors etc.,
mPolicy.setCurrentOrientationLw(req);
if (updateRotationUncheckedLocked(inTransaction)) {
// changed
return true;
}
}
return false;
} finally {
Binder.restoreCallingIdentity(ident);
}
}