вы попробуете этот код
public class Add_todo_list extends Activity {
protected static final int DATE_DIALOG_ID = 0;
private static final int TIME_DIALOG_ID = 1;
private int mYear;
private int mMonth;
private int mDay;
private int mHour;
private int mMinute;
private int aY;
private int aMo;
private int aD;
private int aH;
private int aMi;
protected void onResume() {
// TODO Auto-generated method stub
getRecords();
super.onResume();
}
Button save, clear, back, cat_add;
EditText title, disc, due_date, alarm_time;
Spinner category;
ToggleButton alarm_set;
RadioGroup priority;
RadioButton r1, r2, r3;
private Database_creat mDbHelper;
private Alarm_set alarmset;
ArrayAdapter<String> adapter;
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.todo_add);
save = (Button) findViewById(R.id.todo_add_Bnt_Save);
clear = (Button) findViewById(R.id.todo_add_Bnt_clear);
back = (Button) findViewById(R.id.todo_add_Bnt_back);
cat_add = (Button) findViewById(R.id.todo_add_Bnt_category_add);
title = (EditText) findViewById(R.id.todo_add_edt_title);
disc = (EditText) findViewById(R.id.todo_add_edt_description);
due_date = (EditText) findViewById(R.id.todo_add_edt_due_date);
alarm_time = (EditText) findViewById(R.id.todo_add_edt_alaram_time);
category = (Spinner) findViewById(R.id.todo_add_spin_category);
alarm_set = (ToggleButton) findViewById(R.id.todo_add_togbnt);
priority = (RadioGroup) findViewById(R.id.todo_add_RadGro_priority);
r1 = (RadioButton) findViewById(R.id.todo_add_Red_hige);
r2 = (RadioButton) findViewById(R.id.todo_add_Rad_medium);
r3 = (RadioButton) findViewById(R.id.todo_add_Rad_low);
mDbHelper = new Database_creat(Add_todo_list.this);
mDbHelper.Open();
alarmset = new Alarm_set();
adapter = new ArrayAdapter<String>(this,
android.R.layout.select_dialog_item);
getRecords();
category.setAdapter(adapter);
category.setPrompt("Category");
//Date editText box display date dialog box
due_date.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(DATE_DIALOG_ID);
}
});
//Time editText box display Time dialog box
alarm_time.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(TIME_DIALOG_ID);
}
});
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
aD = mDay;
aY = mYear;
aMo = mMonth;
mHour = c.get(Calendar.HOUR_OF_DAY);
mMinute = c.get(Calendar.MINUTE);
updateDisplay();
// Add new Category
cat_add.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(Add_todo_list.this,
Add_new_category.class);
startActivity(intent);
}
});
//Bace button go to Main Activity
back.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
finish();
}
});
clear.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
title.setText("");
disc.setText("");
updateDisplay();
}
});
// Save Button to DataBase in Save info
save.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
String a = title.getText().toString().trim();
String b = disc.getText().toString().trim();
String c = due_date.getText().toString().trim();
String d = alarm_time.getText().toString().trim();
String e = category.getSelectedItem().toString();
String f = alarm_set.getText().toString();
String g = getradio(priority.getCheckedRadioButtonId());
String currentDateTimeString = DateFormat.getDateInstance()
.format(new Date());
// Log.v("save", g+" ");
Intent intent;
if (a.length() != 0 && b.length() != 0 && mYear >= aY && mMonth >= aMo && mDay >= aD) {
// if(c currentDateTimeString){
mDbHelper.insert_todoinfo(a, b, c, d, e, f, g);
Toast.makeText(Add_todo_list.this, "Add New Note ",
Toast.LENGTH_SHORT).show();
finish();
// DateFormat formatter;
// Date date = null;
// formatter = new SimpleDateFormat("MM-dd-yyyy");
// try {
// date = (Date) formatter.parse(c);
// } catch (ParseException e1) {
// // TODO Auto-generated catch block
// e1.printStackTrace();
// }
// Alarm Set Save with
Cursor cursor = mDbHelper.getId(c, d);
int getid = 0;
Log.v("cursor", "" + cursor.getCount());
while (cursor.moveToNext()) {
String id = cursor.getString(0);
getid = Integer.parseInt(id);
}
alarmset = new Alarm_set();
alarmset.Alarmset(Add_todo_list.this, c, d, getid);
} else {
Toast.makeText(Add_todo_list.this,
"Enter Title,Discription and Velid Date ", Toast.LENGTH_SHORT)
.show();
}
}
});
}
private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
updateDisplay();
}
};
private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mHour = hourOfDay;
mMinute = minute;
updateDisplay();
}
};
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,
mDay);
case TIME_DIALOG_ID:
return new TimePickerDialog(this, mTimeSetListener, 0, 0, false);
}
return null;
}
private void updateDisplay() {
// TODO Auto-generated method stub
due_date.setText("");
alarm_time.setText("");
due_date.setText(new StringBuilder()
// Month is 0 based so add 1
.append(mMonth + 1).append("-").append(mDay).append("-")
.append(mYear));
alarm_time.setText(new StringBuilder().append(pad(mHour)).append(":")
.append(pad(mMinute)));
}
private Object pad(int x) {
// TODO Auto-generated method stub
if (x >= 10)
return String.valueOf(x);
else
return "0" + String.valueOf(x);
}
//Get List of Category
private void getRecords() {
// arrayList.clear();
adapter.clear();
Cursor cursor = mDbHelper.getInfoRecords();
while (cursor.moveToNext()) {
String id = cursor.getString(0);
String Categore = cursor.getString(1);
adapter.add(Categore);
}
}
//RedioButton Select to get Radio String
private String getradio(int id) {
// TODO Auto-generated method stub
String ab = null;
switch (id) {
case R.id.todo_add_Rad_low:
ab = r3.getText().toString();
break;
case R.id.todo_add_Rad_medium:
ab = r2.getText().toString();
break;
case R.id.todo_add_Red_hige:
ab = r1.getText().toString();
break;
}
return ab;
}
}
и еще один класс
public class Alarm_set extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}
//Set Alarm
public void Alarmset(Context cont, String c, String d, int getid) {
Log.v("alaramiuughuhuiohioh", "dfdd");
int cd = 0, cy = 0, cmo = 0, ch = 0, cmi = 0, cm = 0;
String date = c.substring(3, 5);
String month = c.substring(0, 2);
String Year = c.substring(6, 10);
String min = d.substring(3, 5);
String hours = d.substring(0, 2);
Log.v("get ste", date + "-" + month + "-" + Year);
cd = Integer.parseInt(date);
cy = Integer.parseInt(Year);
cm = Integer.parseInt(month);
cmo = cm - 1;
ch = Integer.parseInt(hours);
cmi = Integer.parseInt(min);
Calendar cal = Calendar.getInstance();
cal.set(cy, cmo, cd, ch, cmi);
Log.v("set", cy + "-" + cd + "-" + cmo + "-" + ch + "-" + cmi);
Log.v("alarm set", "alarm set in " + cal.getTimeInMillis());
Intent intent = new Intent(cont, AlarmReceiverActivity.class);
intent.putExtra("id",getid);
PendingIntent penintent = PendingIntent.getBroadcast(cont, getid,
intent, 0);
AlarmManager alm = (AlarmManager) cont.getSystemService(ALARM_SERVICE);
alm.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), penintent);
}
//Delete Alarm
public void Alarmcancel(Context cont, int id) {
Intent intent = new Intent(cont, AlarmReceiverActivity.class);
PendingIntent penintent = PendingIntent.getBroadcast(cont, id, intent,
0);
penintent.cancel();
//Toast.makeText(cont, "alarm stop", Toast.LENGTH_LONG).show();
}
}
и вещательный класс
public class AlarmReceiverActivity extends BroadcastReceiver {
private static final int MODE_WORLD_READABLE = 0;
private NotificationManager nm;
private Database_creat mDbHelper;
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String descr = null;
mDbHelper = new Database_creat(context);
mDbHelper.Open();
int id = intent.getIntExtra("id",0);
Log.v("alarmreciev Id ",id+"");
String sub_id = String.valueOf(id);
String alarm_set = null;
String title = null ;
SharedPreferences myPrefs;
// Get Title,Description And Set Status Bar Notifications
Cursor cursor = mDbHelper.getdata_disp(id);
while (cursor.moveToNext()) {
String Title = cursor.getString(0);
String Description = cursor.getString(cursor.getColumnIndex("description"));
alarm_set =cursor.getString(cursor.getColumnIndex("alarm_set"));
title = cursor.getString(cursor.getColumnIndex("title"));
descr = Description;
}
nm = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
CharSequence from = "To Do List";
Intent disintent = new Intent(context,Todo_display_win.class);
disintent.putExtra("id",sub_id);
Log.v("send to display Id", sub_id);
CharSequence message = title;
Notification notif = new Notification(R.drawable.notes,
"To do List", System.currentTimeMillis());
notif.flags=Notification.FLAG_AUTO_CANCEL;
PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
disintent,Notification.FLAG_AUTO_CANCEL);
notif.setLatestEventInfo(context, from, message, contentIntent);
nm.notify(1, notif);
//nm.cancel(1);
//notif.defaults |= Notification.FLAG_AUTO_CANCEL;
if(alarm_set.equals("on"))
{
Toast.makeText(context,title, Toast.LENGTH_LONG).show();
}
myPrefs = context.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
String on = "on";
Log.v("sound", myPrefs.getString("sound", "off"));
if (on.equals(myPrefs.getString("sound", "off"))) {
notif.defaults |= Notification.DEFAULT_SOUND;
}
Log.v("vibrate", myPrefs.getString("vibrate", "off"));
if (on.equals(myPrefs.getString("vibrate", "off"))) {
notif.defaults |=Notification.DEFAULT_VIBRATE;
}
Log.v("light", myPrefs.getString("light", "off"));
if (on.equals(myPrefs.getString("light", "off"))) {
notif.defaults |= Notification.DEFAULT_LIGHTS;
}
}
}