Unity复选框保存状态

时间:2018-08-16 16:29:46

标签: android unity3d

在我的统一应用中,我需要一个允许或禁用推送通知的复选框。但是问题是复选框无法保存其状态,就像我选中该复选框并重新启动应用程序一样,该复选框显示为未选中状态。 :/ ..现在该怎么办?

3 个答案:

答案 0 :(得分:1)

您需要自己保存复选框的状态。

您可以使用PlayerPrefs来这样做。 (最简单但最不安全的方法。在您的情况下,是否有人在应用程序外部修改值并不重要)

如果您想了解有关PlayerPrefs的更多信息,请快速video

答案 1 :(得分:1)

使用PlayerPrefsonValueChanged,您可以编写这样的脚本并将其附加到Toggle

public Toggle toggle;
void Start()
{
    toggle = GetComponent<Toggle>();
    toggle.isOn = PlayerPrefs.GetInt("Toggled") == 1;
    toggle.onValueChanged.AddListener(delegate {
        ToggleValueChanged();
    });
}
void ToggleValueChanged()
{
    PlayerPrefs.SetInt("Toggled", toggle.isOn ? 1 : 0);
}
  

https://docs.unity3d.com/ScriptReference/PlayerPrefs.html   https://docs.unity3d.com/ScriptReference/UI.Toggle-onValueChanged.html

答案 2 :(得分:0)

您的服务器上可能有一个数据库,那里可能有一个users表或类似的表。更改该表,添加allow_pushnotifications列,并且在您的应用初始化并向服务器发送第一个请求时,应在答案中收到该请求。使用答案来初始化您的复选框的值。您也可以为此目的存储本地文件,以处理由于某种原因服务器因应用程序而无法访问的情况。