【发布时间】:2017-07-31 19:00:10
【问题描述】:
我想在用户切换到多窗口模式时从我的后台服务中获得通知。除了流程中涉及的活动之外,还有其他方法可以通过服务获取此信息吗?
我还注意到,当在前景窗口区域单击叠加层时,它会自动切换到该区域下的活动。可以预防吗?
【问题讨论】:
标签: android service overlay android-7.0-nougat multi-window
我想在用户切换到多窗口模式时从我的后台服务中获得通知。除了流程中涉及的活动之外,还有其他方法可以通过服务获取此信息吗?
我还注意到,当在前景窗口区域单击叠加层时,它会自动切换到该区域下的活动。可以预防吗?
【问题讨论】:
标签: android service overlay android-7.0-nougat multi-window
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之外调用?
您必须添加 ViewTreeObserver。并检查设备是否进入多窗口模式 getActivity().isInMultiWindowMode()
【讨论】: