使用android alarmmanager
我有一个提醒类应用程序,用户可以在其中设置提醒 我发现的大多数教程和示例都是关于alarm manager的,在其中,在特定时间后或预定义时间设置报警。但如何将其设置为用户输入的数据和时间。此外,用户将设置多个警报 所有这些都存储在数据库中,然后填充到lsitview中 这是一个用户将在其中设置日期和时间的片段:文本dte和tme显示用户选择的日期和时间,然后当用户单击“保存”按钮时,我想在用户选择的时间设置报警使用android alarmmanager,android,Android,我有一个提醒类应用程序,用户可以在其中设置提醒 我发现的大多数教程和示例都是关于alarm manager的,在其中,在特定时间后或预定义时间设置报警。但如何将其设置为用户输入的数据和时间。此外,用户将设置多个警报 所有这些都存储在数据库中,然后填充到lsitview中 这是一个用户将在其中设置日期和时间的片段:文本dte和tme显示用户选择的日期和时间,然后当用户单击“保存”按钮时,我想在用户选择的时间设置报警 Calendar calender = Calendar.getInstance(
Calendar calender = Calendar.getInstance();
TextView dte,tme, doit;
ImageButton cal;
EditText enteredTask;
Button save;
String taskentered, dateentered, timeentered;
tasks_Database_Operations tasksDatabaseOperations;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.add_task_fragment, container, false);
dte = (TextView) view.findViewById(R.id.datetv);
tme = (TextView) view.findViewById(R.id.timetv);
Log.d("LifeCycle HirakDebug", "aTF View Created");
return view;
}
@Override
public void onResume() {
super.onResume();
Log.d("LifeCycle HirakDebug", "aTF Resume");
enteredTask = (EditText) getActivity().findViewById(R.id.user_entered_task);
doit = (TextView) getActivity().findViewById(R.id.title);
cal = (ImageButton) getActivity().findViewById(R.id.select_date);
save = (Button) getActivity().findViewById(R.id.save_tsk);
save.setOnClickListener(this);
cal.setOnClickListener(this);
}
@Override
public void onClick(View view) {
if (view == cal) {
FragmentManager fm = getFragmentManager();
date_time_picker dTP = new date_time_picker();
dTP.setTargetFragment(this, 1);
dTP.setStyle(DialogFragment.STYLE_NO_TITLE, R.style.myCustomDialog);
dTP.show(fm, "dTP");
Log.d("HirakDebug", "add_task_frag setDate called");
} else if (view == save) {
saveData();
Log.d("HirakDebug", "add_task_frag saveData called");
}
}
private void saveData() {
String iidd = null;
taskentered = enteredTask.getText().toString();
dateentered = dte.getText().toString();
timeentered = tme.getText().toString();
tasksDatabaseOperations = new tasks_Database_Operations(getActivity());
long id = tasksDatabaseOperations.insertData(iidd, taskentered, dateentered, timeentered);
if (id < 0) {
Log.e("HirakDebug", "add_task_frag failed insertData operation");
} else {
Log.d("HirakDebug", "Data sent to be inserted");
}
tasksDatabaseOperations.sqLiteDatabase.close();
goBackToTaskListFragment();
}
private void goBackToTaskListFragment() {
tasksListFrag tLF = new tasksListFrag();
add_task_frag aTF = new add_task_frag();
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.setCustomAnimations(R.anim.slide_up, R.anim.slide_down);
ft.remove(this);
ft.replace(R.id.dynamic_content, tLF, "tLF");
ft.commit();
Log.d("HirakDebug", "add_task_frag went back to taskListFrag");
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK && requestCode == 1){
String date = data.getStringExtra("date");
String time = data.getStringExtra("time");
dte.setText(date);
tme.setText(time);
}
}
也许是你需要使用的那个。 请点击下面的链接 设置重复警报 代码示例形成上述链接: 唤醒设备,在上午8:30准时触发警报,此后每隔20分钟: 私人AlarmManager alarmMgr; 私人悬而未决的意图; ... alarmMgr=AlarmManagercontext.getSystemServiceContext.ALARM\u服务; 意图=新的意图上下文,AlarmReceiver.class; alarmIntent=PendingEvent.getBroadcastcontext,0,intent,0; //将警报设置为早上8:30开始。 Calendar Calendar=Calendar.getInstance; calendar.SetTimeInMillissSystem.currentTimeMillis; calendar.setCalendar.HOUR_OF u DAY,8; calendar.setCalendar.MINUTE,30; //setRepeating允许您在这种情况下指定精确的自定义间隔, //20分钟。 alarmMgr.setRepeatingAlarmManager.RTC_唤醒,calendar.getTimeInMillis, 1000*60*20,报警意图;