Android刘海屏适配判断:
import android.app.Activity;
import android.os.Build;
import android.text.TextUtils;
import android.view.DisplayCutout;
import java.lang.reflect.Method;
/**
*
* @brief: Notch Tools
*/
public class NotchUtils {
/**
* 是否有刘海屏
*
* @return
*/
public static boolean hasNotchInScreen(Activity activity) {
try {
// android P以上有标准 API 来判断是否有刘海屏
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
DisplayCutout displayCutout = activity.getWindow().getDecorView().getRootWindowInsets().getDisplayCutout();
if (displayCutout != null) {
// 说明有刘海屏
return true;
}
} else {
// 通过其他方式判断是否有刘海屏 目前官方提供有开发文档的就 小米,vivo,华为(荣耀),oppo , meizu
String manufacturer = Build.MANUFACTURER;
if (TextUtil