Can I query the Unicode version of an Android device programatically?

60 Views Asked by At

I know I can check the Android Release number and some related info via android.os.Build.VERSION.RELEASE and I can check the ICU (Internationalization Components for Unicode) version via android.icu.util.VersionInfo.ICU_VERSION but I can't seem to find a way to check the Unicode version itself.

So far the best I can find is a table relating the versions of various system components in the Android internationalization documentation, and it's not quite up-to-date:

Platform (API level)                    ICU     CLDR    Unicode
---------------------------------------------------------------
Android 7.0 - 7.1 (API levels 24 - 25)  56      28      8.0
Android 8.0 - 8.1 (API levels 26 - 27)  58.2    30.0.3  9.0
Android 9 (API level 28)                60.2    32.0.1  10.0
Android 10 (API level 29)               63.2    34      11.0
Android 11 (API level 30)               66.1    36      13.0
Android 12 (API level 31)               68.2    38.1    13.0

My year-old cheap Chinese phone is Android 13 with ICU 70.1, which isn't in the table and isn't the latest version, which is also missing from that table.

Is there a deterministic way for my app to get the Unicode version info from the system? Or do I just have to find more up-to-date tables and put them in my code?

(As a bonus question it would be nice if I can also check the CLDR version programmatically.)

0

There are 0 best solutions below