在我的统一应用中,我需要一个允许或禁用推送通知的复选框。但是问题是复选框无法保存其状态,就像我选中该复选框并重新启动应用程序一样,该复选框显示为未选中状态。 :/ ..现在该怎么办?
答案 0 :(得分:1)
您需要自己保存复选框的状态。
您可以使用PlayerPrefs来这样做。 (最简单但最不安全的方法。在您的情况下,是否有人在应用程序外部修改值并不重要)
如果您想了解有关PlayerPrefs的更多信息,请快速video
答案 1 :(得分:1)
使用PlayerPrefs
和onValueChanged
,您可以编写这样的脚本并将其附加到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列,并且在您的应用初始化并向服务器发送第一个请求时,应在答案中收到该请求。使用答案来初始化您的复选框的值。您也可以为此目的存储本地文件,以处理由于某种原因服务器因应用程序而无法访问的情况。