当用户切换到多窗口模式时,我想从我的后台服务中获得通知。除了流程中涉及的活动之外,还有其他方法可以通过服务获取此信息。
我还注意到,当在前景窗口区域上单击覆盖时,它会自动切换到该区域下的活动。这可以防止吗?
当用户切换到多窗口模式时,我想从我的后台服务中获得通知。除了流程中涉及的活动之外,还有其他方法可以通过服务获取此信息。
我还注意到,当在前景窗口区域上单击覆盖时,它会自动切换到该区域下的活动。这可以防止吗?
您必须添加 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{
}
}