在android studio活动之间发送数据时出现问题

在android studio活动之间发送数据时出现问题,android,alarm,timepicker,Android,Alarm,Timepicker,我试图注销报警应用程序,但在活动之间发送数据时遇到问题。在主活动中,我打开设置警报的下一个活动。设置报警后,我希望返回到主活动字符串,其中包含报警将在何时开始的信息。这是我的密码: 开幕活动: **设置报警(我发送变量intent_字符串,intent转到AlarmReceiver类)** 运行此警报后,警报仍在工作,但应用程序似乎从未处于onActivityResult功能中(应该从日志中获取信息,但我什么也得不到) 下面是一个完整的示例: 以下是打开计时器并根据所选时间设置警报的代码: T

我试图注销报警应用程序,但在活动之间发送数据时遇到问题。在主活动中,我打开设置警报的下一个活动。设置报警后,我希望返回到主活动字符串,其中包含报警将在何时开始的信息。这是我的密码:

开幕活动: **设置报警(我发送变量intent_字符串,intent转到AlarmReceiver类)**


运行此警报后,警报仍在工作,但应用程序似乎从未处于
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);

}