@Maria29

Как сделать Notification and Alarm Manager в определенное время суток?

Здравствуйте! Я делаю программу и столкнулась с такой проблемой - хочу чтобы уведомление отображалось в определенное время суток. Пожалуйста, скажите мне, что я делаю не так. Буду благодарна за ответ.

MainActivity

public class MainActivity extends AppCompatActivity {

public static final String CHANNEL_SIREN_ID = "1";
public static final CharSequence CHANNEL_SIREN_NAME = "name";
public static final String CHANNEL_SIREN_DESCRIPTION = "";

private PendingIntent alarmIntent;
private long time;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

private void startAlarm() {

AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);

Intent intent = new Intent(this, AlarmReceiver.class);
alarmIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);

Calendar calendar = Calendar.getInstance();
Calendar cal = Calendar.getInstance();

calendar.set(Calendar.YEAR, cal.get(Calendar.YEAR));
calendar.set(Calendar.MONTH, cal.get(Calendar.MONTH));
calendar.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH));
calendar.set(Calendar.HOUR_OF_DAY, 16);
calendar.set(Calendar.MINUTE, 36);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);

assert alarmManager != null;
alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, alarmIntent);
}
}

AlarmReceiver

public class AlarmReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {

}

private void notify(Context context, Notification build) {
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.zalicon)
.setTicker("Твой персональный тренер")
.setContentTitle("Вставай, пора идти в зал")
.setContentText("Тебя ждет насыщенный день")
.setAutoCancel(true)
.setLights(0xff0000ff, 300, 1000) // blue color
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
.setContentIntent(PendingIntent.getActivity(context, 0,
new Intent(context, MainActivity.class), PendingIntent.FLAG_UPDATE_CURRENT))
.setAutoCancel(true);
notify(context, mBuilder.build());

}
}

manifest

android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:ignore="GoogleAppIndexingWarning">








android:enabled="false">






  • Вопрос задан
  • 332 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы