求教大神。
目前用同一个app,分别装在Android手机和RK3288开发板上。在开发板上打开app时,屏幕会变为横屏,而在Android手机上则不会,想一直让屏幕处于竖屏模式下。请问如何禁止屏幕旋转。
这个so easy 我就不公布答案了,百度一大把
修改文件:
WindowManagerService.java (frameworks\base\services\core\java\com\android\server\wm)
中,函数
boolean updateOrientationFromAppTokensLocked(boolean inTransaction) {
long ident = Binder.clearCallingIdentity();
try {
//int req = getOrientationFromWindowsLocked(); //屏蔽原有代码
//写死req变量,可以通过用property,来灵活设置强制或自动旋转
int req = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
if (req == ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED) {
req = getOrientationFromAppTokensLocked();
}
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);
}
}
buzaiyouyu001 发表于 2016-12-14 14:32
修改文件:
WindowManagerService.java (frameworks\base\services\core\java\com\android\server\wm …
最优解!