我需要完全像在设置-> 日期和时间-> 选择时区菜单中填写的那样用时区填充我的微调器。如果我只使用
TimeZone.getAvailableIDs();
我得到完全不同的看法。即在设置菜单中它看起来像:
Midway Island
Hawaii
Alaska
...
在我的微调器中,我得到
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
....
在 Android 中,设置应用程序从 id 转换为常用名称。你可以在这里找到用于翻译的 xml
http://grepcode.com/file/repository.grepcode.com $java$ext@com.google.android$android-apps@4.0.4_r1.2@packages$apps$Settings$res$xml$timezones.xml
. 因此,您还必须以编程方式将其翻译为常用名称
获得 ID 后,您需要使用TimeZone.getTimeZone(id).getDisplayName()
才能以 Android 设置中使用的格式查看名称。请注意,尽管某些 id 会产生相同的显示名称,因此您需要过滤具有相同显示名称的项目。