У меня есть приложение с pu sh на основе сокетов, чтобы приложение открывало и показывало пользователю важную работу, такую как получение заказов в магазине. У меня есть требование бить тревогу за 10 минут до того, как магазин выходит в интернет ежедневно. Я решил, что go впереди с AlarmManager, как показано ниже
Calendar alarmFor = Calendar.getInstance();
alarmFor.set(Calendar.HOUR_OF_DAY, 7);
alarmFor.set(Calendar.MINUTE, 45);
alarmFor.set(Calendar.SECOND, 0);
Intent MyIntent = new Intent(getApplicationContext(), BroadcastNotification.class);
PendingIntent MyPendIntent = PendingIntent.getBroadcast(getApplicationContext(), 0,
MyIntent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager MyAlarm = (AlarmManager) getSystemService(ALARM_SERVICE);
MyAlarm.setAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, alarmFor.getTimeInMillis(),
MyPendIntent);
, а затем в onRecieve () откроет приложение, как показано ниже, со звуком
@Override
public void onReceive(Context context, Intent intent) {
Log.d("MyAPP", "onReceive() called");
// -> open app activity with alarm sound
}
Но указанное решение кажется довольно старой школой.
Я также пытался с WorkManager OneTimeRequest установить и запустить задание в указанное c время. Но в Android Daily Job-Evernote упоминается, что WorkManager не гарантирует работу в определенное время c, а также ежедневную работу .
. предложить лучший и унифицированный подход к открытию приложения с гарантией в указанное c время.
Заранее спасибо.