То, что я пытаюсь сделать, это иметь уведомление, которое будет срабатывать в одно и то же время каждый день.Я хотел бы быть максимально простым, поскольку я все еще начинающий.
Вот мой MainActivity:
private static final int notificationId = 4242;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initChannels(this);
// Create an explicit intent for an Activity in your app
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this, "default")
.setSmallIcon(R.drawable.ic_launcher_foreground)
.setContentTitle("This is the title")
.setContentText("This is the body of the notification.")
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
// Set the intent that will fire when the user taps the notification
.setContentIntent(pendingIntent)
.setAutoCancel(true);
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
// notificationId is a unique int for each notification that you must define
notificationManager.notify(notificationId, mBuilder.build());
}
public void initChannels(Context context) {
if (Build.VERSION.SDK_INT < 26) {
return;
}
NotificationManager notificationManager =
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
NotificationChannel channel = new NotificationChannel("default",
"Channel name",
NotificationManager.IMPORTANCE_DEFAULT);
channel.setDescription("Channel description");
notificationManager.createNotificationChannel(channel);
}
То, что в настоящее время делает мой код, абсолютно ничего.Я считаю, что код должен отправить уведомление, когда я запускаю приложение, но этого тоже не происходит.Я думаю, что первым шагом было бы, по крайней мере, заставить уведомление работать.А затем установите его для работы в определенное время (скажем, в 9 утра).
РЕДАКТИРОВАТЬ: Код был исправлен, чтобы заставить его работать по крайней мере.Теперь, когда я вхожу в приложение, я получаю уведомление, как и планировалось изначально.Вторая часть моего вопроса заключается в том, как заставить его работать в одно и то же время каждый день?