安卓10适配

1.安卓10获取不到IMEI信息,使用以下代码获取

 public  String getIMEIDeviceId(Context context) {

        String deviceId;

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
        {
            deviceId = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
        } else {
            final TelephonyManager mTelephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                if (context.checkSelfPermission(Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
                    return "";
                }
            }
            assert mTelephony != null;
            if (mTelephony.getDeviceId() != null)
            {
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
                {
                    deviceId = mTelephony.getImei();
                }else {
                    deviceId = mTelephony.getDeviceId();
                }
            } else {
                deviceId = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
            }
        }
        Log.d("deviceId", deviceId);
        return deviceId;
    }

2.安卓10获取不到系统文件解决方法,在manifest.xml中的Application标签中加入下面的配置

 

3.安卓10之后侧滑菜单使用androidx.drawerlayout.widget.DrawerLayout
4.Http请求失败
(1)添加网络安全配置。首先在 res 目录下新建xml文件夹,添加network_security_config.xml文件:



    

(2)AndroidManifest.xml中的application添加:


    
            ...
    

(3)以上这是一种简单粗暴的配置方法,要么支持http,要么不支持http。为了安全灵活,我们可以指定支持的http域名:



    
    
        aaa.example.com
    

5.Apache HTTP 客户端弃用,Android 9.0 开始,默认情况下该库已从 bootclasspath 中移除,如果想使用,需要在应用的 AndroidManifest.xml 文件中添加:


    
        
            ...
    

你可能感兴趣的:(安卓10适配)