| 
 | 
 
详解- boolean privacyConfirm = mSharedPreferences.getBoolean(SpeechApp.PRIVACY_KEY, false);
 
  复制代码 
这句代码是从 SharedPreferences 中读取用户隐私政策同意状态的关键代码,让我详细解释一下: 
1. mSharedPreferences 
这是 MainActivity 中声明的 SharedPreferences 对象,用于存储和读取简单的键值对数据。 
2. getBoolean() 方法 
这是 SharedPreferences 接口提供的方法,用于获取布尔类型的值: 
第一个参数:键名(key)- SpeechApp.PRIVACY_KEY 
第二个参数:默认值(defValue)- false 
3. SpeechApp.PRIVACY_KEY 
这应该是一个常量字符串,作为存储隐私同意状态的键名。 
工作流程 
1. 首次运行应用 
SharedPreferences 中没有 SpeechApp.PRIVACY_KEY 对应的值 
getBoolean() 返回默认值 false 
privacyConfirm 为 false,触发显示隐私政策对话框 
2. 用户同意隐私政策后 
用户点击"同意"按钮后,代码会执行: 
- mSharedPreferences.edit().putBoolean(SpeechApp.PRIVACY_KEY, true).apply();
 
 
  复制代码 
再次运行应用时,getBoolean() 返回存储的值 true 
privacyConfirm 为 true,不再显示隐私对话框 
在 MainActivity 中的作用 
这段代码用于检查用户是否已经同意隐私政策: 
- // 检查用户是否已同意隐私政策
 
 - boolean privacyConfirm = mSharedPreferences.getBoolean(SpeechApp.PRIVACY_KEY, false);
 
 - if (!privacyConfirm) {
 
 -     // 如果未同意,则显示隐私政策对话框
 
 -     showPrivacyDialog();
 
 - }
 
 
  复制代码 
这是应用合规性的重要机制,确保在用户使用应用功能前已明确同意隐私政策。 
 
 |   
 
 
 
 |