【发布时间】:2022-01-11 20:01:43
【问题描述】:
我在文档 here 和 here 之后有一个 PreferenceScreen。
其中一个选项是 SwitchPreferenceCompat,它在我的应用程序中执行一些有风险的工作,例如,定期发送敏感信息。这是简单的开关:
<SwitchPreferenceCompat
app:key="SendInfoToServer"
app:title="Send information on your device to our servers" />
我需要的是向用户提出这样的问题:
这将定期发送敏感信息 您的设备到我们的服务器。 您确定要启用此选项吗?
如果用户回答“是”,那么我希望 SwitchPreferenceCompat 被激活,否则不被激活。
我调查了一下,发现了这段代码:
findPreference("SendInfoToServer").setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if((boolean) newValue == true){
Toast("Activating this function will safe sensitive information");
}
return true;
}
});
但此消息只是向用户显示的警告消息。我想要实现的是提出一个问题。如果用户同意,则开关应打开,如果用户不同意,则开关应保持关闭。
关于如何做到这一点的任何想法。
【问题讨论】:
标签: android androidx preferencescreen