Android 选择是否在收件箱中存储已发送的sms消息

Android 选择是否在收件箱中存储已发送的sms消息,android,sms,sharedpreferences,smsmanager,Android,Sms,Sharedpreferences,Smsmanager,我有一个应用程序,用户可以输入一个电话号码和一条消息,然后单击“发送”,它会将消息发送到他们设置的电话号码。当用户发送消息时,该特定消息也会显示在手机的消息收件箱中。我试图实现的是,设置一个复选框首选项,用户可以选中或取消选中他们发送的消息是否会保存到他们的消息收件箱中 这是我在prefs.xml中的复选框首选项 <CheckBoxPreference android:key="key_addvalues" android:summary="

我有一个应用程序,用户可以输入一个电话号码和一条消息,然后单击“发送”,它会将消息发送到他们设置的电话号码。当用户发送消息时,该特定消息也会显示在手机的消息收件箱中。我试图实现的是,设置一个复选框首选项,用户可以选中或取消选中他们发送的消息是否会保存到他们的消息收件箱中

这是我在prefs.xml中的复选框首选项

<CheckBoxPreference
            android:key="key_addvalues"
            android:summary="Choose whether to store sent messages in your inbox"
            android:title="Store messages"
            android:defaultValue="true"
        />
如您所见,我成功地添加了一个首选项,用户可以从列表中选择主题,但是我似乎不知道如何添加首选项,用户可以选择是否将邮件保存到收件箱

为了将邮件保存到收件箱,我在邮件发送时添加了以下代码:

ContentValues values = new ContentValues();                       
                    values.put("address", phoneNo);                               
                    values.put("body", sms);                              
                    getContentResolver().insert(Uri.parse("content://sms/sent"), values);

然而,我不知道我应该如何将上述代码变成一个首选项。提前感谢您的帮助

CheckBoxPreference
保存布尔值,而不是
开/关
字符串。 在您的情况下,要检索足够调用的值:

final boolean save = prefs.getBoolean("key_addvalues", true);
然后检查
save
变量:

if(save){
    ContentValues values = new ContentValues();                       
    values.put("address", phoneNo);                               
    values.put("body", sms);                              
    getContentResolver().insert(Uri.parse("content://sms/sent"), values);
}

我不太确定在哪里放置
final boolean save=prefs.getBoolean(“key\u addvalues”,true)因为无论我将应用程序放置在何处,都会出现运行时错误。
if(save){
似乎与它是否在代码中无关,它是导致崩溃的最后一个布尔值。对如何修复它有什么想法吗?你对如何修复它有什么想法吗?我真的迷路了
if(save){
    ContentValues values = new ContentValues();                       
    values.put("address", phoneNo);                               
    values.put("body", sms);                              
    getContentResolver().insert(Uri.parse("content://sms/sent"), values);
}