I’m pretty new to Android Studio and Java in general. I’m trying to build an app that, based on whether a checkbox is ticked in the app’s settings menu, will display a notification everyday at 8AM.
I’ve figured out how to display the notification, but not how to trigger it at 8AM. This is the current notification code:
private void addNotification() {
NotificationCompat.Builder builder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.cog)
.setContentTitle("Notifications Example")
.setContentText("This is a test notification");
Intent notificationIntent = new Intent(this, MainActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent,
PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(contentIntent);
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(0, builder.build());
}
My questions are two:
- How do I make the notification trigger at 8AM every day?
- How do I make the app remember if the checkbox is ticked or not?
Any help appreciated 🙂
Advertisement
Answer
Welcome to Stack Overflow. 🙂
You can use the AlarmManager
class to trigger a notification at a particular time. The Android developer website has a great section on how to use it: https://developer.android.com/training/scheduling/alarms#examples-of-real-time-clock-alarms
To help the app remember if the checkbox is checked, SharedPreferences
should be enough. There’s another page on the Android developer website on how to use it: https://developer.android.com/training/data-storage/shared-preferences