参数 含义 获取代码(获取结果之后的其他运算不做加入) 结果 User-Agent 获取WebView默认User-Agent字符串,包含了设备信息、浏览器版本等信息 WebSettings.getDefaultUserAgent(context) "Mozilla/5.0 (Linux; Android 10; Pixel Build/QP1A.191005.007.A3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/135.0.7049.113 Mobile Safari/537.36 " os_ver 安卓版本号 Build.VERSION.RELEASE 10 os_lang 获取语言 locale.getLanguage() zh vendor 设备制造商 Build.MANUFACTURER google model 设备型号 Build.MODEL pixel dpi 设备屏幕密度 context.getResources().getDisplayMetrics().density 26 dpi_f 分辨率 " public static Point d(Context context) { try { Display defaultDisplay = ((WindowManager) context.getSystemService(""window"")).getDefaultDisplay(); Point point = new Point(); defaultDisplay.getRealSize(point); return point; } catch (Throwable unused) { return new Point(); } } point.x point.y" 411x731 resolution 分辨率 " public static Point d(Context context) { try { Display defaultDisplay = ((WindowManager) context.getSystemService(""window"")).getDefaultDisplay(); Point point = new Point(); defaultDisplay.getRealSize(point); return point; } catch (Throwable unused) { return new Point(); } } point.x point.y" 1080x1920 net 网络类型 " public static int a(Context context) { if (context == null) { return 0; } try { NetworkInfo activeNetworkInfo = ((ConnectivityManager) context.getApplicationContext().getSystemService(""connectivity"")).getActiveNetworkInfo(); if (activeNetworkInfo == null) { return 0; } int type = activeNetworkInfo.getType(); if (type == 1) { return 3; } if (type != 0) { return 0; } switch (activeNetworkInfo.getSubtype()) { } return 0; } catch (Throwable th) { sg.bigo.ads.common.t.a.a(0, ""NetworkUtil"", ""exception on get network info:"" + th.getMessage()); return 0; } } " wifi tz 时区 "TimeZone.getDefault().getDisplayName(false, 0, Locale.ENGLISH)" gmt+08:00 isp "初始化时为空,获取到READ_PHONE_STATE电话权限之后,获取值为运营商名称" " public static String d(Context context) { if (context == null) { return """"; } if (""-1"".equals(d)) { d = """"; if (!sg.bigo.ads.common.utils.c.a(context, ""android.permission.READ_PHONE_STATE"")) { return d; } try { d = ((TelephonyManager) context.getSystemService(""phone"")).getSimOperatorName(); } catch (Exception unused) { } } return d; } " """""" country 国家,初始化后从配置文件里获取us作为国家代码 locale.getCountry() cn gaid 广告id " public static sg.bigo.ads.common.a a(Context context, long j) { if (Looper.myLooper() == Looper.getMainLooper()) { throw new IllegalStateException(""Google Play Services info can't be accessed from the main thread""); } try { context.getPackageManager().getPackageInfo(""com.android.vending"", 0); a aVar = new a(j); Intent intent = new Intent(""com.google.android.gms.ads.identifier.service.START""); intent.setPackage(""com.google.android.gms""); try { if (!context.bindService(intent, aVar, 1)) { throw new IOException(""Google Play connection failed""); } try { if (aVar.b) { throw new IllegalStateException(); } aVar.b = true; b bVar = new b(aVar.c.poll(aVar.a, TimeUnit.MILLISECONDS)); String a2 = bVar.a(); Boolean b2 = bVar.b(); if (a2 != null && b2 != null) { return new sg.bigo.ads.common.a(a2, b2.booleanValue()); } context.unbindService(aVar); return null; } catch (Exception e) { throw e; } } finally { context.unbindService(aVar); } } catch (Exception e2) { throw e2; } } " 168b51f4-76f0-448a-8a4e-ddd438588338 hw_id "当设备是华为时,就去获取华为的oaid" " private static e a(Context context) { boolean bindService; e a = e.a(context); if (!a.a.isEmpty()) { return a; } Intent intent = new Intent(""com.uodis.opendevice.OPENIDS_SERVICE""); intent.setPackage(""com.huawei.hwid""); try { a.b = true; bindService = context.bindService(intent, a, 1); } catch (Exception unused) { } catch (Throwable th) { a.a(); throw th; } if (bindService) { if (!bindService) { a.a(); } return a; } if (bindService) { return null; } a.a(); return null; } " """""" fire_id "当设备是亚马逊时,就去获取亚马逊的广告id" " public static sg.bigo.ads.common.a a(Context context) { String str = """"; boolean z = true; if (""Amazon"".equalsIgnoreCase(Build.MANUFACTURER)) { try { ContentResolver contentResolver = context.getContentResolver(); if (Settings.Secure.getInt(contentResolver, ""limit_ad_tracking"") == 0) { z = false; } str = Settings.Secure.getString(contentResolver, ""advertising_id""); } catch (Settings.SettingNotFoundException unused) { } } return new sg.bigo.ads.common.a(str, z); } " """""" af_id "如果加载了af sdk,就去获取appsflyer uid" " public static String a(Context context) { if (!TextUtils.isEmpty(a) || !b) { return a; } try { Class cls = Class.forName(""com.appsflyer.AppsFlyerLib""); Object invoke = cls.getMethod(""getAppsFlyerUID"", Context.class).invoke(cls.getMethod(""getInstance"", new Class[0]).invoke(null, new Object[0]), context); if (invoke instanceof String) { a = (String) invoke; } } catch (Exception unused) { b = false; } return a; } " """""" cpu_core_num 获取cpu核心数 " public static int a() { if (a) { return c; } int a2 = sg.bigo.ads.common.x.a.a(); c = a2; if (a2 != 0) { a = true; return a2; } try { c = new File(""/sys/devices/system/cpu/"").listFiles(new C0058a()).length; } catch (Throwable unused) { } if (c <= 1) { c = Runtime.getRuntime().availableProcessors(); } a = true; sg.bigo.ads.common.x.a.a(c); return c; } " 4 cpu_clock_speed 获取cpu的最大频率 """/sys/devices/system/cpu/cpu"" + i3 + ""/cpufreq/cpuinfo_max_freq""" 2150 total_memory 获取系统总内存大小 " public static long b(Context context) { ActivityManager.MemoryInfo d2 = d(context); if (d2 == null) { return 0L; } return f.a(d2.totalMem, 3); } " 3765 free_memory 获取系统可用内存大小 " public static long a(Context context) { ActivityManager.MemoryInfo d2 = d(context); if (d2 == null) { return 0L; } return f.a(d2.availMem, 3); } " 1268 rom_free_in 获取内部存储空间的可用空间大小 " private static long f() { StatFs statFs = new StatFs(Environment.getDataDirectory().getPath()); return statFs.getBlockSizeLong() * statFs.getAvailableBlocksLong(); } " 16734564352 rom_free_ext 获取外部存储空间的可用空间大小 " StatFs statFs = new StatFs(Environment.getExternalStorageDirectory().getPath()); return statFs.getBlockSizeLong() * statFs.getAvailableBlocksLong(); " 16734556160 sim_country "获取设备当前网络的国家/地区代码 如果网络国家代码为空,则获取SIM卡的国家代码 需要READ_PHONE_STATE权限" " public static String e(Context context) { if (context == null) { return """"; } if (""-1"".equals(e)) { e = """"; if (!sg.bigo.ads.common.utils.c.a(context, ""android.permission.READ_PHONE_STATE"")) { return e; } try { TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(""phone""); String networkCountryIso = telephonyManager.getNetworkCountryIso(); e = networkCountryIso; if (TextUtils.isEmpty(networkCountryIso)) { e = telephonyManager.getSimCountryIso(); } } catch (Exception unused) { } } return e; } " """""" system_country 国家代码 locale.getCountry() cn bat_stat "获取设备的电池状态 BatteryManager.BATTERY_STATUS_UNKNOWN(1):未知状态 BatteryManager.BATTERY_STATUS_CHARGING(2):正在充电 BatteryManager.BATTERY_STATUS_DISCHARGING(3):正在放电 BatteryManager.BATTERY_STATUS_NOT_CHARGING(4):未充电 BatteryManager.BATTERY_STATUS_FULL(5):已充满" " registerReceiver = context.registerReceiver(null, new IntentFilter(""android.intent.action.BATTERY_CHANGED"")); registerReceiver.getIntExtra(""status"", -1)" 2 bat_num 获取设备的电池电量百分比0~100 " registerReceiver = context.registerReceiver(null, new IntentFilter(""android.intent.action.BATTERY_CHANGED"")); registerReceiver.getIntExtra(""level"", -1)" 76 bat_scale 获取电池电量的最大刻度 " registerReceiver = context.registerReceiver(null, new IntentFilter(""android.intent.action.BATTERY_CHANGED"")); registerReceiver.getIntExtra(""scale"", -1)" 100 lat_enable 是否限制gaid的获取 和上面获取gaid的代码一致 0 hw_lat_enable 是否限制hw_id的获取 1 fire_lat_enable 是否限制fire_id的获取 1