在android studio活动之间发送数据时出现问题
我试图注销报警应用程序,但在活动之间发送数据时遇到问题。在主活动中,我打开设置警报的下一个活动。设置报警后,我希望返回到主活动字符串,其中包含报警将在何时开始的信息。这是我的密码: 开幕活动: **设置报警(我发送变量intent_字符串,intent转到AlarmReceiver类)**在android studio活动之间发送数据时出现问题,android,alarm,timepicker,Android,Alarm,Timepicker,我试图注销报警应用程序,但在活动之间发送数据时遇到问题。在主活动中,我打开设置警报的下一个活动。设置报警后,我希望返回到主活动字符串,其中包含报警将在何时开始的信息。这是我的密码: 开幕活动: **设置报警(我发送变量intent_字符串,intent转到AlarmReceiver类)** 运行此警报后,警报仍在工作,但应用程序似乎从未处于onActivityResult功能中(应该从日志中获取信息,但我什么也得不到) 下面是一个完整的示例: 以下是打开计时器并根据所选时间设置警报的代码: T
运行此警报后,警报仍在工作,但应用程序似乎从未处于
onActivityResult
功能中(应该从日志中获取信息,但我什么也得不到) 下面是一个完整的示例:
以下是打开计时器并根据所选时间设置警报的代码:
TimePickerDialog basic_timer_timePickerDialog;
private void Timer(boolean is24r){
Calendar calendar = Calendar.getInstance();
Log.d(TAG, "EnableTimer Called");
basic_timer_timePickerDialog2 = new TimePickerDialog(
getActivity(),
onTimeSetListener2,
calendar.get(Calendar.HOUR_OF_DAY),
calendar.get(Calendar.MINUTE),
is24r);
basic_timer_timePickerDialog2.setTitle(getResources().getString(R.string.enable_alarm));
basic_timer_timePickerDialog2.show();
}
TimePickerDialog.OnTimeSetListener onTimeSetListener2
= new TimePickerDialog.OnTimeSetListener(){
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Calendar calNow = Calendar.getInstance();
Calendar calSet = (Calendar) calNow.clone();
calSet.set(Calendar.HOUR_OF_DAY, hourOfDay);
calSet.set(Calendar.MINUTE, minute);
calSet.set(Calendar.SECOND, 0);
calSet.set(Calendar.MILLISECOND, 0);
if(calSet.compareTo(calNow) <= 0){
//Today Set time passed, count to tomorrow
calSet.add(Calendar.DATE, 1);
}
Timer alarm = new Timer();
alarm.setAlarm(calSet,getActivity());
}};
TimeSett若要获取用户设置的时间,您可以从该字符串中检索它。感谢此示例,它将帮助我确定:)REQUEST\u GET\u time设置为什么?这里有一个问题,我将其更改为1,它成功了,谢谢!很高兴能帮忙
alarm_on.setOnClickListener(new View.OnClickListener(){
@TargetApi(Build.VERSION_CODES.M)
@Override
public void onClick(View v){
ind = true;
calendar.set(Calendar.HOUR_OF_DAY, timePicker.getCurrentHour());
calendar.set(Calendar.MINUTE, timePicker.getCurrentMinute());
int hour = timePicker.getCurrentHour();
int minute = timePicker.getCurrentMinute();
String hourString = String.valueOf(hour);
String minuteString = String.valueOf(minute);
if(minute<10){
minuteString="0"+String.valueOf(minute);
}
intent.putExtra("extra", "on");
temp = select_item +" - " +hourString+":"+minuteString;
intent_string = getIntent();
intent_string.putExtra("temp", temp);
setResult(RESULT_OK, intent_string);
pendingIntent = PendingIntent.getBroadcast(Time_Picker.this,
0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
pendingIntent);
finish();
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.e("dziala:", "");
if (requestCode == 1){
if(resultCode == RESULT_OK){
String text = data.getStringExtra("temp");
Log.e("dziala:", text);
}
}
}
TimePickerDialog basic_timer_timePickerDialog;
private void Timer(boolean is24r){
Calendar calendar = Calendar.getInstance();
Log.d(TAG, "EnableTimer Called");
basic_timer_timePickerDialog2 = new TimePickerDialog(
getActivity(),
onTimeSetListener2,
calendar.get(Calendar.HOUR_OF_DAY),
calendar.get(Calendar.MINUTE),
is24r);
basic_timer_timePickerDialog2.setTitle(getResources().getString(R.string.enable_alarm));
basic_timer_timePickerDialog2.show();
}
TimePickerDialog.OnTimeSetListener onTimeSetListener2
= new TimePickerDialog.OnTimeSetListener(){
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Calendar calNow = Calendar.getInstance();
Calendar calSet = (Calendar) calNow.clone();
calSet.set(Calendar.HOUR_OF_DAY, hourOfDay);
calSet.set(Calendar.MINUTE, minute);
calSet.set(Calendar.SECOND, 0);
calSet.set(Calendar.MILLISECOND, 0);
if(calSet.compareTo(calNow) <= 0){
//Today Set time passed, count to tomorrow
calSet.add(Calendar.DATE, 1);
}
Timer alarm = new Timer();
alarm.setAlarm(calSet,getActivity());
}};
public void setAlarm(Calendar targetCal, Context context){
String AlarmSetToText = context.getResources().getString(R.string.AlarmSetToText);
String TimeSetTo = AlarmSetToText + " " + targetCal.getTime();
Toast.makeText(context, TimeSetTo, Toast.LENGTH_LONG).show();
Intent intent = new Intent(context, TimerEnable.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, REQUEST_INT, intent, 0);
AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, targetCal.getTimeInMillis(), pendingIntent);
}