В моем приложении мне нужно запланировать уведомление пользователя по указанной дате и времени (например, 1 мая в 10:00). В этот момент уведомление должно быть показано, и когда пользователь нажимает на это уведомление, мое приложение должно быть открытым. Я вижу два способа сделать это:
1. Запланированные уведомления.
Но если я использую класс Alarm, я не могу изменить название уведомления (которое является «Тревога» в английской версии SDK).
Класс напоминания в основном подходит мне, но когда он появляется на экране блокировки, и пользователь щелкает его, мое приложение не открывается.
Может быть, есть ли способ обойти эти моменты?
Также я хотел бы избавиться от listpicker со временем (5 минут, 10 минут, 1 час и т. Д.) И кнопку «отложить», но это не критично.
2. Тост (или плитка) уведомления от фонового агента.
Но я не уверен, что мой фоновый агент работает в нужное время. Насколько я понимаю, фоновые агенты запускаются системой, и их запуск ограничен несколькими факторами (заряд аккумулятора телефона, наличие запущенных приложений или других фоновых агентов). Это может даже не начаться. Существует способ заставить агента в определенное время использовать LaunchForTest, но везде пишут, что этот метод может использоваться только для целей отладки, а перед публикацией приложения он должен быть удален.
Если я не удалю этот метод, будет ли моя заявка сертифицирована? Также мне не нравится, что уведомление тоста открывается только в течение 10 секунд, а затем исчезает без следа. Что-то можно сделать по этому поводу?
Мне нужно, чтобы уведомление было гарантировано показано в нужное время, и когда вы нажимаете на него, мое приложение было открыто. Каков наилучший способ сделать это?
Если это невозможно в Windows Phone 7, есть ли способ сделать это в Windows Phone 8?
Спасибо.Как запланировать уведомление пользователя в указанное время
ответ
Я думаю, вы должны использовать напоминания для этого. Когда вы нажмете на них, ваше приложение откроется. Что-то вроде:
var reminder = ScheduledActionService.Find("MyAppReminder");
if (reminder != null)
{
ScheduledActionService.Remove("MyAppReminder");
}
reminder = new Reminder("MyAppReminder")
{
Title = "Bla",
BeginTime = DateTime.Now.AddDays(2),
Content = message,
NavigationUri = new Uri("/Start.xaml", UriKind.Relative),
RecurrenceType = RecurrenceInterval.None
};
ScheduledActionService.Add(reminder);
Что касается применения не открытия, когда на экране блокировки отображается уведомление, это имеет смысл. Было бы большой дырой в безопасности, если бы вы могли открывать приложения прямо из экрана блокировки! Надеюсь, поможет.
Да, вы правы в безопасности, но Toast Notifications открывает свои приложения, когда пользователь нажимает на них. Но я не люблю их из-за их короткого срока службы (10 секунд и никакого центра уведомлений для их хранения. Я действительно разочарован этим). – Lumen
- 1. Как запланировать уведомление в Android
- 2. Как запланировать уведомление о хромировании?
- 3. Как начать уведомление в указанное время каждый день?
- 4. Как запланировать одно локальное уведомление в swift
- 5. Уведомление в Swift каждый день в указанное время?
- 6. Swift: Запланировать локальное уведомление в определенное время по будням
- 7. Вызов wxPython.NotificationMessage в указанное время
- 8. Как отменить определенное запланированное уведомление и запланировать новое уведомление, когда время установлено в iphone
- 9. уведомление пользователя во время ожидания
- 10. Невозможно запланировать локальное уведомление в Swift 2
- 11. Запланировать отправку СМС в назначенное время
- 12. проснуться в указанное время
- 13. iPhone cron (выполнение задачи в указанное время)
- 14. Как определить, прошло ли указанное время без активности пользователя
- 15. Android | Изменить время, указанное в уведомлении?
- 16. Как запланировать локальное уведомление в приложении Windows Phone 8.1 rt?
- 17. Как отправить уведомление Firebase в определенное время?
- 18. Возможно ли запланировать время оповещения? (iPhone SDK)
- 19. Как запланировать уведомление о тосте за определенную дату и время в приложении Windows 8?
- 20. Поднять событие в указанное время
- 21. AlarmManager не запускался в указанное время
- 22. Запуск анимации в указанное время
- 23. Итерация цикла в указанное время
- 24. Время UTC в указанное местное время
- 25. Время, указанное во время поиска в google
- 26. Как запланировать оповещение, которое пробуждает приложение iOS без вмешательства пользователя
- 27. Как остановить скрипт в указанное время?
- 28. Как вызвать функцию в указанное время?
- 29. Android: Как начать работу в указанное время?
- 30. Как запустить метод в указанное пользователем время?
Вы можете использовать внешний сервер уведомлений и отправлять там уведомление о Toast. – MarcinJuraszek
Да, но насколько я знаю, push-уведомления не всегда приходят в нужное время (могут быть задержки). И кроме того, у пользователя может не быть интернет, тогда push-уведомление не придет к нему. – Lumen