Java 警报提醒未在片段中工作

Java 警报提醒未在片段中工作,java,android,android-fragments,Java,Android,Android Fragments,我在一个应用程序中工作,该应用程序使用片段,其中有一个带有时间选择器的提醒,但我的提醒页面类没有转到BroadcastReceiver类,我无法找出发生这种情况的原因 这是我的RemiderPage.java代码 public class ReminderPage extends android.support.v4.app.Fragment { View view; Button Setalarm; TimePicker timePicker; final static int RQS_1=1

我在一个应用程序中工作,该应用程序使用片段,其中有一个带有时间选择器的提醒,但我的提醒页面类没有转到BroadcastReceiver类,我无法找出发生这种情况的原因

这是我的
RemiderPage.java
代码

public class ReminderPage extends android.support.v4.app.Fragment {
View view;
Button Setalarm;
TimePicker timePicker;
final static int RQS_1=1;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
    view= inflater.inflate(R.layout.fragment_reminder, container, false);
    timePicker=(TimePicker)view.findViewById(R.id.timePicker);
    Setalarm=(Button)view.findViewById(R.id.button8);
    Calendar calendar=Calendar.getInstance();
    timePicker.setCurrentHour(calendar.get(Calendar.HOUR_OF_DAY));
    timePicker.setCurrentMinute(calendar.get(Calendar.MINUTE));
    Setalarm.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Calendar cal = Calendar.getInstance();
            cal.set(timePicker.getCurrentHour(), timePicker.getCurrentMinute(), 00);

            setAlarm(cal);
        }


        private void setAlarm(Calendar targetcal) {
            Toast.makeText(getContext(), "Alarm is set", Toast.LENGTH_LONG).show();
            Intent intent = new Intent(getContext().getApplicationContext(),AlarmReceiver.class);
            PendingIntent pendingIntent = PendingIntent.getBroadcast(getContext().getApplicationContext(), RQS_1, intent, 0);
            AlarmManager alarmmanager = (AlarmManager)getActivity().getSystemService(Context.ALARM_SERVICE);
            alarmmanager.set(AlarmManager.RTC_WAKEUP, targetcal.getTimeInMillis(), pendingIntent);

        }
    });


    return view;
}
}

这是我的
AlarmReceiver.java
代码

public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context,"Alarm received",Toast.LENGTH_LONG).show();
}
}

请在manifest.xml文件的应用程序节点内注册接收方

<receiver android:name=".AlarmReceiver" android:enabled="true">   
</receiver>

有关更多信息,请查看下面的链接。

您也可以通过编程方式注册。请检查下面的墨水


我也尝试了getActivity()而不是getContext(),但什么也没发生。有人能帮忙吗?????请确保它在活动上下文中工作。我不明白你到底想说什么??你说它在片段中不工作。所以,请检查它是否在活动中工作。不,它也不在活动中工作。谢谢!我的清单中有注册接收者,它起作用了。我还有一个问题,我的代码无法识别它是AM还是PM。你能帮助我吗。你需要在接收器rt中识别AM/PM吗?使用以下代码--if(calendar.get(calendar.AM\u-PM)==0)AM\u-PM=“AM”;else am_pm=“pm”