【问题标题】:TimeZoneInfo.GetSystemTimeZones().Count gives 0 for unity android appTimeZoneInfo.GetSystemTimeZones().Count 为统一 android 应用程序提供 0
【发布时间】:2020-01-22 12:58:42
【问题描述】:

TimeZoneInfo.GetSystemTimeZones().Count 为 unity android app 提供 0,是否需要从 android 端获得任何权限才能获取 TimeZone 数据?

Debug.LogError("GetSystemTimeZones... " + System.TimeZoneInfo.GetSystemTimeZones().Count);

输出: 获取系统时区... 0

【问题讨论】:

  • 关于这个问题有一个 Unity 问题,似乎还没有解决,但在 cmets 上你可以找到更多关于它的信息,并且可能是一种解决方法:issuetracker.unity3d.com/issues/…
  • @VitorFigueredo 这只发生在 android 应用中,因为同一应用的 iOS 版本运行良好。

标签: c# android unity3d


【解决方案1】:

我认为这个方法在 Android 上总是返回 0。阅读TimeZoneInfo 的文档:

GetSystemTimeZones 方法检索所有可用时区 来自注册表子项的信息 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Time Windows 系统上的 Zones 密钥以及 Linux 上的 ICU 库和 macOS。

如您所见,没有提到 Android。

【讨论】:

【解决方案2】:

基于documentation 它应该在android 中返回0!但我看到有些人做了一个解决方法来解决这个问题。它如下: 您可以使用 Android Studio 创建一个 jar 并在那里获取您需要的时区,然后创建一个 C# 脚本来访问该 jar 文件。 here你可以找到一个关于如何做的教程。

虽然在这种情况下有一个缺点,但您只能使用此解决方案传递字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多