私は基本的に、スケジュールされた時刻に毎日の通知を表示しようとしています(たとえば、毎日午前7時30分)。しかし、実装したコードは通知を一切表示しません。Android:スケジュール通知が表示されません。
私は時間を設定し活動:
//This method is called by a button onClick method
private void SaveData() {
//I get the hour, minute and the AM/PM from 3 edittexts
String hours = hoursBox.getText().toString();
String minutes = minutesBox.getText().toString();
String ampm = ampmBox.getSelectedItem().toString();
if (hours.length() != 0 && minutes.length() != 0 && ampm.length() != 0) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, Integer.parseInt(hours));
calendar.set(Calendar.MINUTE, Integer.parseInt(minutes));
calendar.set(Calendar.SECOND, 0);
//calendar.set(Calendar.AM_PM, Calendar.AM);
Intent intent=new Intent(this, ReminderService.class);
AlarmManager manager=(AlarmManager)getSystemService(Activity.ALARM_SERVICE);
PendingIntent pendingIntent=PendingIntent.getService(this, 0,intent, 0);
manager.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),24*60*60*1000,pendingIntent);
}
}
ReminderService.java
public class ReminderService extends Service {
@Override
public void onCreate()
{
Intent resultIntent=new Intent(this, Dashboard.class);
PendingIntent pIntent=PendingIntent.getActivity(this,0,resultIntent,0);
Notification noti_builder= new Notification.Builder(this)
.setContentTitle("Hello from the other side!")
.setContentIntent(pIntent)
.setSmallIcon(R.drawable.helloicon)
.build();
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
noti_builder.flags |=Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(1,noti_builder);
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
私はここで間違って何をしているのですか?マニフェストにも何かを追加する必要がありますか?これらは私が現在行っている唯一の2つの実装です。前もって感謝します!
"実装したコードでは、スケジュールされた時刻に通知が表示されません。 - それはまったく表示されないという意味ですか、希望しない時だけですか? –
@MikeMはまったく表示されません。 – Dinuka
マニフェストに 'Service'がリストされていますか? –