【问题标题】:Shared preferences between Unity, Android and iOSUnity、Android 和 iOS 之间的共享首选项
【发布时间】:2015-11-10 11:19:17
【问题描述】:

我需要在 Unity 和 Android 之间传递一些键值对。我知道我可以用插件做到这一点,像这样:Using shared preferences between unity and native android sdk

令人惊讶的是,我的同事(在 iOS 上做同样的事情)告诉我,她可以使用 NSUserDefaults 和 PlayerPrefs 轻松做到这一点。

所以我尝试在 Unity 端写键值:

PlayerPrefs.SetString("Location","tw");

并使用SharedPreferences在Android端阅读:

SharedPreferences sharedPref = activity.getPreferences(Context.MODE_PRIVATE);
Location = sharedPref.getString("Location", null);

但我什么都没有,我做错了吗?

或者在Android上是否有其他工具可以使用与NSUserDefaults和PlayerPrefs映射效果相同的工具?

【问题讨论】:

    标签: android ios unity3d


    【解决方案1】:

    成功了

    根据http://forum.unity3d.com/threads/what-is-default-shared-preference-name.66579/

    应该使用

    SharedPreferences packagePrefs = context.getSharedPreferences(context.getPackageName(), Context.MODE_PRIVATE);
    

    【讨论】:

      【解决方案2】:

      在更高版本的 Unity 中,您可能需要将 .v2.playerprefs 添加到 Android 包名称中。

      所以:

      SharedPreferences unityPrefs = context.getSharedPreferences(context.getPackageName() + ".v2.playerprefs", Context.MODE_PRIVATE);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-10
        • 2013-10-12
        • 2022-06-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-20
        相关资源
        最近更新 更多