0
나는 주어진 시간과 날짜에 날짜 선택 도구와 시간 선택 도구를 사용하여 안드로이드에서 메시지를 예약하고 싶습니다.주어진 시간과 날짜에 메시지를 예약하는 방법은 무엇입니까?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mEditText = (EditText) findViewById(R.id.username);
msendSms = (EditText) findViewById(R.id.sendssms);
mEditText.setOnTouchListener(new RightDrawableOnTouchListener(mEditText) {
@Override
public boolean onDrawableTouch(MotionEvent event) {
mEditText.setText("");
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, PICK_CONTACT);
return true;
}
});
pickdate = (Button) findViewById(R.id.pickdate);
pickdate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
datepicker();
}
});
pickTime = (Button) findViewById(R.id.pickTime);
pickTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Calendar mcurrentTime = Calendar.getInstance();
int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
int minute = mcurrentTime.get(Calendar.MINUTE);
mTimePicker = new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
pickTime.setText(selectedHour+ ":" +selectedMinute);
}
}, hour, minute,false);
mTimePicker.setTitle("Select Time");
mTimePicker.show();
}
});
ScheduleMesage = (Button) findViewById(R.id.scheduleMsg);
ScheduleMesage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
phoneNo = mEditText.getText().toString().trim();
message = msendSms.getText().toString().trim();
SmsManager smsManager=SmsManager.getDefault();
smsManager.sendTextMessage(phoneNo, null, message, null, null);
Toast.makeText(getApplicationContext(), "SMS sent.", Toast.LENGTH_LONG).show();
}
});
}
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
switch (reqCode) {
case (PICK_CONTACT):
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
if (c.moveToFirst()) {
String id = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts._ID));
String hasPhone = c.getString(c.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
if (hasPhone.equalsIgnoreCase("1")) {
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + id, null, null);
phones.moveToFirst();
String cNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
cNumber = cNumber.replaceAll("[\\D]", "");
if (cNumber.length() >= 10) {
cNumber = cNumber.substring(cNumber.length() - 10);
}
Toast.makeText(getApplicationContext(), cNumber, Toast.LENGTH_SHORT).show();
String nameContact = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
mEditText.setText(nameContact + " " + cNumber);
}
}
}
}
}
@TargetApi(Build.VERSION_CODES.N)
private void datepicker() {
Calendar calendar = Calendar.getInstance();
final int mYear = calendar.get(Calendar.YEAR);
final int mMonth = calendar.get(Calendar.MONTH);
final int mDay = calendar.get(Calendar.DAY_OF_MONTH);
datePickerDialog = new DatePickerDialog(MainActivity.this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
time = "" + i + "-" + i2 + "-" + (i1 + 1);
pickdate.setText(time);
}
}, mYear, mMonth, mDay);
datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
pickdate.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
datePickerDialog.show();
return false;
}
});
pickdate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
datepicker();
}
});
}
나는 즉시 내가 할 수 SMS를 보낼 수있는 SMS를 보내려면이 위의 코드를 사용하고
하지만 내가 예약 된 시간에 SMS를 보내야합니다.
내가 날짜 선택과 내가 통해 직접 SMS를 보낼 수 있어요 시간 선택기를 사용하고 어떤 노력 –
보기 5 초 후 버튼을 붉은 색상을 설정하려면 알람 매니저
즉 샘플을 사용할 수 있습니다 응용 프로그램이지만 예정된 시간과 날짜에 보내지 못했습니다. –
이 질문을 편집하여 코드를 게시 할 수 있습니까? 우리가 한 일을 보여주십시오. –