Android 和具体通知
Android and specific notifications
我希望我的应用程序通知用户可能在特定时间发生的特定事件。
我知道如何在知道确切时间的情况下发送通知,但是当我想在应用安装时未知的时间触发通知时,事情对我来说有点复杂(通知的时间可以改变或取决于在特定事件上)。
这里有两种情况不知道怎么触发通知:
每天在一个时间发送一个通知,这个时间可以每天更改。假设我想通知用户现在是日出时间,我是否需要一项服务来 运行 永久计算每天的日落时间并在时间到来时触发通知?
每当社区中出现新情况时发送通知。我不想通知用户更新,而只是通知特定时间的特定事件。 如何向他们发送通知?
我怎样才能做到这一点?
谢谢!
对于你的第一个选项,我会使用 AlarmManager
。它将在特定时间执行一个功能,可以在应用程序启动时设置。每次 AlarmManager 执行并向用户发送通知时,它应该重新计算下一条消息时间并重置 AlarmManager
。 (查看如何重置 here )
对于第二种情况,您可以使用 OneSignal 这样的库。这是一个非常有用的库,用于注册用户推送通知和从网站向您的用户发送消息。您可以选择用户组或特定用户来发送消息,您可以自定义推送消息的外观(添加按钮、图像等)。
我希望我的应用程序通知用户可能在特定时间发生的特定事件。
我知道如何在知道确切时间的情况下发送通知,但是当我想在应用安装时未知的时间触发通知时,事情对我来说有点复杂(通知的时间可以改变或取决于在特定事件上)。
这里有两种情况不知道怎么触发通知:
每天在一个时间发送一个通知,这个时间可以每天更改。假设我想通知用户现在是日出时间,我是否需要一项服务来 运行 永久计算每天的日落时间并在时间到来时触发通知?
每当社区中出现新情况时发送通知。我不想通知用户更新,而只是通知特定时间的特定事件。 如何向他们发送通知?
我怎样才能做到这一点?
谢谢!
对于你的第一个选项,我会使用 AlarmManager
。它将在特定时间执行一个功能,可以在应用程序启动时设置。每次 AlarmManager 执行并向用户发送通知时,它应该重新计算下一条消息时间并重置 AlarmManager
。 (查看如何重置 here )
对于第二种情况,您可以使用 OneSignal 这样的库。这是一个非常有用的库,用于注册用户推送通知和从网站向您的用户发送消息。您可以选择用户组或特定用户来发送消息,您可以自定义推送消息的外观(添加按钮、图像等)。