Unity,Android和iOS之间的共享首选项

时间:2015-11-10 11:19:17

标签: android ios unity3d

我需要在Unity和Android之间传递一些键值对。我知道我可以使用插件执行此操作,例如:Using shared preferences between unity and native android sdk

令人惊讶的是,我的同事(他在iOS上做同样的事情)告诉我,她可以使用NSUserDefaultsPlayerPrefs轻松完成此操作。

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

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

并使用SharedPreferences在Android端阅读:

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

但我一无所获,我做错了吗?

或者是否有另一种在Android上使用的工具与NSUserDefaultsPlayerPrefs映射效果相同?

2 个答案:

答案 0 :(得分:2)

Nailed it

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

应该使用

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

答案 1 :(得分:0)

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

所以:

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