public string GetDataNetworkPath() { AndroidJavaObject telManager = GetTelephonyManager(); if (telManager == null) { return(""); } const string readPhoneStatePermissionString = "android.permission.READ_PHONE_STATE"; try { if (Permission.HasUserAuthorizedPermission(readPhoneStatePermissionString)) { int nType = PlatformIntegrationUtil.Call <int>(telManager, "getDataNetworkType"); NetworkDataType datatype = (NetworkDataType)nType; return(datatype.ToString()); } else { return(""); } } catch (Exception e) { Logger.LogWarning("Exception retrieving properties: " + e.GetBaseException() + ", " + e.Message); return(""); } }
// Placeholder, if available, just use the Unity version #if UNITY_ANDROID public Dictionary<string, string> GetDeviceInfo() { CarrierInfoClass carrierInfo = new CarrierInfoClass(); Dictionary<string, string> map = new Dictionary<string, string>(); int sdk_int = carrierInfo.getAndroidSDKVers(); map["Build.VERSION.SDK_INT"] = sdk_int.ToString(); if (UnityEngine.XR.XRSettings.loadedDeviceName.Contains("oculus")) { return map; } AndroidJavaObject telephonyManager = carrierInfo.GetTelephonyManager(); if (telephonyManager == null) { Logger.Log("No TelephonyManager!"); return map; } const string readPhoneStatePermissionString = "android.permission.READ_PHONE_STATE"; try { if (Permission.HasUserAuthorizedPermission(readPhoneStatePermissionString)) { string ver = PlatformIntegrationUtil.Call<string>(telephonyManager, "getDeviceSoftwareVersion"); if (ver != null) { map["DeviceSoftwareVersion"] = ver.ToString(); } } } catch (Exception e) { Logger.LogWarning("Exception retrieving properties: " + e.GetBaseException() + ", " + e.Message); } try { if (Permission.HasUserAuthorizedPermission(readPhoneStatePermissionString)) { int nType = PlatformIntegrationUtil.Call<int>(telephonyManager, "getDataNetworkType"); NetworkDataType datatype = (NetworkDataType)nType; map["DataNetworkType"] = datatype.ToString(); } } catch (Exception e) { Logger.LogWarning("Exception retrieving properties: " + e.GetBaseException() + ", " + e.Message); } AndroidJavaClass versionCodesClass = new AndroidJavaClass("android.os.Build$VERSION_CODES"); int versionCode = PlatformIntegrationUtil.GetStatic<int>(versionCodesClass, "Q"); if (sdk_int > versionCode) { string mc = PlatformIntegrationUtil.Call<string>(telephonyManager, "getManufacturerCode"); if (mc != null) { map["ManufacturerCode"] = mc; } } string niso = PlatformIntegrationUtil.Call<string>(telephonyManager, "getNetworkCountryIso"); if (niso != null) { map["NetworkCountryIso"] = niso; } string siso = PlatformIntegrationUtil.Call<string>(telephonyManager, "getSimCountryIso"); if (siso != null) { map["SimCountryCodeIso"] = siso; } int phoneType = PlatformIntegrationUtil.Call<int>(telephonyManager, "getPhoneType"); map["PhoneType"] = phoneType.ToString(); // Default one. string simOperatorName = PlatformIntegrationUtil.Call<string>(telephonyManager, "getSimOperatorName"); if (simOperatorName != null) { map["SimOperatorName"] = simOperatorName; } // Default one. string networkOperator = PlatformIntegrationUtil.Call<string>(telephonyManager, "getNetworkOperatorName"); if (networkOperator != null) { map["NetworkOperatorName"] = networkOperator; } return map; }