我希望我的后台服务能在用户切换到多窗口模式时收到通知。除了涉及该过程的活动之外,是否有其他服务可以获取此信息?
另外,我注意到当在前台窗口区域点击覆盖层时,它会自动切换到该区域下的活动。这个行为可以被防止吗?
另外,我注意到当在前台窗口区域点击覆盖层时,它会自动切换到该区域下的活动。这个行为可以被防止吗?
您需要添加 ViewTreeObserver 并检查设备是否进入了多窗口模式
getActivity().isInMultiWindowMode()
isInMultiWindowMode() 是在 API 24 中添加的,用于检查设备是否处于多窗口模式,它返回一个布尔值。每当设备进入多窗口模式时,它会触发 onConfigurationChanged()
方法。在那里,您可以处理横屏和竖屏模式。
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
{
//do something
}else{
}
}
isInMultiWindowMode
的 API,可以在 Activity 之外调用? - android developer