Android 检查多窗口支持
我在检查设备是否支持多窗口模式时遇到问题。我正在使用此函数检查它Android 检查多窗口支持,android,android-7.0-nougat,multi-window,Android,Android 7.0 Nougat,Multi Window,我在检查设备是否支持多窗口模式时遇到问题。我正在使用此函数检查它isInMultiWindowMode(),但它是在API 24中添加的,当我在API版本较低的设备上运行我的应用程序时,它会导致异常。对于较低的api版本,是否有此函数的替代品 对于较低的api版本,是否有此函数的替代品 不在Android SDK中。在API级别23之前,没有多窗口模式(从Android SDK的角度来看)。而且,无论出于何种原因,谷歌选择不将isInMultiWindowMode()添加到ActivityCom
isInMultiWindowMode()
,但它是在API 24中添加的,当我在API版本较低的设备上运行我的应用程序时,它会导致异常。对于较低的api版本,是否有此函数的替代品
对于较低的api版本,是否有此函数的替代品
不在Android SDK中。在API级别23之前,没有多窗口模式(从Android SDK的角度来看)。而且,无论出于何种原因,谷歌选择不将isInMultiWindowMode()
添加到ActivityCompat
,可能是因为他们无法支持相应的事件(onMultiWindowModeChanged()
)
因此,这里有一个免费的替换方法:
public static boolean isInMultiWindowMode(Activity a) {
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
return false;
}
return a.isInMultiWindowMode();
}
公共静态布尔isInMultiWindowMode(活动a){
如果@commonware解释的(Build.VERSION.SDK_INT为真,则这是一个竞争条件。因此,isInMultiWindowMode()
将给出实际结果,如果您从内部post方法调用它:
View yourView = findViewById(R.id.yourViewId);
yourView.post(new Runnable() {
@Override
public void run() {
boolean actualResult = isInMultiWindowMode();
}
});
如果它在低级API中不存在,您如何检查它?Android N(API 24)中添加了多窗口支持和isInMultiWindowMode()