Несмотря на то, что этот вопрос, возможно, был задан до переполнения стека, я до сих пор не нашел четкого ответа.Как показывать уведомление каждый день в определенное время, даже когда приложение закрыто?
Я хочу показать уведомление каждый день в 12 часов, например, даже когда приложение закрыто. Я ссылаюсь на эти ссылки: Notifications in specific time every day android, Android daily repeating notification at specific time of a day using AlarmManager, Android BroadcastReceiver on startup - keep running when Activity is in Background и многое другое ... Я смущен различием между сервисом и BroadcastReceiver. Какой из них я должен использовать? или я должен использовать их оба?
До сих пор я знаю, как показывать уведомление, но я не знаю, как показывать его автоматически каждый раз, когда приложение закрыто.
Мой код:
public class NotifyService extends Service {
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
Toast.makeText(this, "Service created", Toast.LENGTH_LONG).show();
Intent resultIntent = new Intent(this, HomeScreen.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent resultPendingIntent = PendingIntent.getActivity(this, 0, resultIntent, 0);
Notification.Builder notification = new Notification.Builder(this)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle("App Title")
.setContentText("Some Text...")
.setContentIntent(resultPendingIntent);
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
if (Build.VERSION.SDK_INT < 16) {
notificationManager.notify(1, notification.getNotification());
} else {
notificationManager.notify(1, notification.build());
}
}
@Override
public void onDestroy() {
super.onDestroy();
Toast.makeText(this, "Service destroyed", Toast.LENGTH_LONG).show();
}
}
AppManifest.xml:
<service android:name=".NotifyService" />
Как я должен написать свой код, чтобы добиться того, чего я хочу? Любые предложения или любая хорошая ссылка, о которой я могу понять?
Спасибо. Я посмотрю на них и отвечу вам. –
Вторая ссылка решила мою проблему. Мне пришлось использовать BroadcastReceiver вместо Службы. Спасибо за помощь. –
Добро пожаловать! Я рад, что смог помочь. –