사용자가 전화 번호와 메시지를 입력하고 "보내기"를 클릭 할 수있는 앱이있어서 메시지를 설정 한 전화 번호로 메시지를 보냅니다. . 사용자가 메시지를 보내면 해당 메시지가 전화기의 메시징 수신함에도 나타납니다. 내가 성취하려고하는 것은 사용자가 보낼 메시지가 메시징받은 편지함에 저장 될지 여부를 사용자가 확인하거나 선택 취소 할 수있는 확인란 설정입니다. 여기 보낸 SMS 메시지를받은 편지함에 저장할지 여부를 선택하십시오.
가있는 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"
/>
당신이 볼 수 있듯이 main.xml에
public class EasyTextActivity extends Activity {
Button buttonSend;
EditText textPhoneNo;
EditText textSMS;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
String userTheme = prefs.getString("key_theme", "dark");
if (userTheme.equals("dark"))
setTheme(R.style.HoloTheme);
else if (userTheme.equals("light"))
setTheme(R.style.HoloLight);
else if (userTheme.equals("lightdark"))
setTheme(R.style.HoloLightDark);
String addvalues = prefs.getString("key_addvalues", "on");
Button btn = (Button) findViewById(R.id.buttonSend);
registerForContextMenu(btn);
buttonSend = (Button) findViewById(R.id.buttonSend);
textPhoneNo = (EditText) findViewById(R.id.editTextPhoneNo);
textSMS = (EditText) findViewById(R.id.editTextSMS);
buttonSend.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String phoneNo = textPhoneNo.getText().toString();
String sms = textSMS.getText().toString();
try {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNo, null, sms, null, null);
ContentValues values = new ContentValues();
values.put("address", phoneNo);
values.put("body", sms);
getContentResolver().insert(Uri.parse("content://sms/sent"), values);
Toast.makeText(getApplicationContext(), "Message Sent!", Toast.LENGTH_LONG).show();}
catch (Exception e) {
Toast.makeText(getApplicationContext(),
"Unable to send message",
Toast.LENGTH_LONG).show();
e.printStackTrace();
}
}
});
}
, 나는 성공적으로 사용자가에서 테마를 선택할 수있는 기본 설정을 추가 그러나 목록을 사용하면 메시지를받은 편지함에 저장할지 여부를 선택할 수있는 환경 설정을 추가하는 방법을 알 수 없습니다.
ContentValues values = new ContentValues();
values.put("address", phoneNo);
values.put("body", sms);
getContentResolver().insert(Uri.parse("content://sms/sent"), values);
그러나 내가 선호에 위의 코드를 만들기 위해 생각하고 방법을 정확하게에 우둔 오전 : 메시지를 보낼 때 메시지가받은 편지함에 저장해야하기 위해
, 나는이 코드를 추가했습니다. 도와 주셔서 미리 감사드립니다!
내가의 환경 설정 = 저장 '최종 부울을 배치 할 위치를 확실히 모르겠어요입니다. getBoolean ("key_addvalues", true);'앱을 어디에 배치하든 관계없이 런타임 오류가 발생합니다. 'if (save) {'는 코드에 있는지 여부는 중요하지 않지만 충돌을 일으키는 최종 부울입니다. 그것을 고치는 방법에 대한 아이디어? – user1798956
수정 방법에 대한 의견이 있으십니까 ?? 나는 정말로 여기에서 길을 잃는다. – user1798956