华为适配官网网址:http://developer.huawei.com/consumer/cn/devservice/doc/50114
小米适配官网网址:https://dev.mi.com/console/doc/detail?pId=1293
Oppo适配官网网址:https://open.oppomobile.com/service/message/detail?id=61876
Vivo适配官网网址:https://dev.vivo.com.cn/doc/document/info?id=103
1、获取手机型号和手机厂商
https://blog.csdn.net/id19870510/article/details/7727046
public class ScreenAdaptation {
public enum AndroidPhoneType {
NONE,
// 华为
HuaWei,
// 小米
XiaoMi,
//oppo
OPPO,
//vivo
VIVO
}
private static String LogTag = "ScreenAdapation";
public static final String DISPLAY_NOTCH_STATUS = "display_notch_status";
public static void StartScreenAdapation(Context curContext) {
Log.i(LogTag, "curContext:" + curContext);
String phoneModel = GetManufature();
Log.i(LogTag, "phoneModel:" + phoneModel);
AndroidPhoneType type = GetAndroidPhoneType(phoneModel);
switch (type) {
case HuaWei:
huaWeiScreenAdaptation(curContext);
break;
case XiaoMi:
xiaomiScreenAdaptation(curContext);
break;
case OPPO:
oppoScreenAdaptation(curContext);
break;
case VIVO:
vivoScreenAdaptation(curContext);
break;
default:
break;
}
}
private static AndroidPhoneType GetAndroidPhoneType(String phoneModel) {
AndroidPhoneType type = AndroidPhoneType.NONE;
String phoneUpperModel = phoneModel.toUpperCase();
Log.i(LogTag, "phoneUpperModel:" + phoneUpperModel);
if (phoneUpperModel.contains("HUAWEI")) {
type = AndroidPhoneType.HuaWei;
} else if (phoneUpperModel.contains("XIAOMI")) {
type = AndroidPhoneType.XiaoMi;
} else if (phoneUpperModel.contains("OPPO")) {
type = AndroidPhoneType.OPPO;
} else if (phoneUpperModel.contains("VIVO")) {
type = AndroidPhoneType.VIVO;
}
Log.i(LogTag, "type:" + type);
return t