[英]How to setAlarmManager at Dialog fragment in android
我正在為我的應用程序創建alerm類型通知,但是遇到空指針錯誤,在對話框片段中,AlarmManager指示為空。 這是我的代碼。
if(alermId>=0){
Log.e("Alerm Id: ",""+alermId);
Intent alermReceiver = new Intent(getActivity(), AlermReceiver.class);
alermReceiver.setAction(DietInformation.ACTION_DIET);
alermReceiver.putExtra("title",titleView.getText());
alermReceiver.putExtra("day",repeatView.getText());
alermReceiver.putExtra("menu",menuView.getText());
PendingIntent pendingIntent = PendingIntent.getBroadcast(getActivity(),alermId,alermReceiver,0);
//ApplicationData.getAlarmManager().setRepeating(AlarmManager.RTC_WAKEUP,reminderTimeInMills,24*60*60*1000*7,pendingIntent);
//ApplicationMain.getAlarmManager().setRepeating(AlarmManager.RTC_WAKEUP,reminderTimeInMills,24*60*60*1000*7,pendingIntent);
//alarmManager =
AlarmClass.getAlarmManager().setRepeating(AlarmManager.RTC_WAKEUP,reminderTimeInMills,24*60*60*1000*7,pendingIntent);
}
為了實例化Alarmanager,我創建了一個內部類,如下所示
static class AlarmClass extends Application{
public static AlarmManager alarmManager;
AlarmClass(){
alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
}
public static AlarmManager getAlarmManager() {
return alarmManager;
}
}
但是應用程序顯示空指針錯誤。 喜歡
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.AlarmManager.setRepeating(int, long, long, android.app.PendingIntent)' on a null object reference
at com.softmaker.gazi_opu.personalhealthcare.fragment.CreateDietFragment.setReminder(CreateDietFragment.java:406)
誰能建議我。 如何為setRepeating(....)實例化alarmMenager;
嘗試在您的應用程序類中更改代碼
static class AlarmClass extends Application{
public static AlarmManager alarmManager;
Context mContext;
AlarmClass(){
mContext = this;
alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
}
public static AlarmManager getAlarmManager() {
if(alarmManager==null){
alarmManager = (AlarmManager) mContext.getSystemService(ALARM_SERVICE);
}
return alarmManager;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.