2015-12-13 131 views
0

我对服务和广播接收器的正确实施有些怀疑。Android通知服务

我做了一个应用程序,其中有新奇的东西。有些新奇事物很重要,所以在数据库中他们有一个他们存储的领域,如果他们很重要或不重要的话。如果他们是,应用程序应该检查用户看到的最新新颖是否是最新的。如果用户没有看到重要的新奇事物,这应该会触发通知。

我知道如何在Android中显示通知,并且我在我的Web服务中有一个方法,它显示用户是否有新鲜事物可供阅读。我只需要知道如何让我的应用程序在随机时间内消耗这些内容,而不会被打开(就像Whatsapp一样)。 我已经阅读了BroadcastReceiver和Services文档,但我不知道如何以有效的方式做到这一点。 我是否让BroadcastReceiver在电话启动时调用服务?并让此服务随机检查时间?

非常感谢!

回答

0

你想要的是一个foreground service与一个BroadcastReceiver启动启动服务。查看this answer并进行必要的更改以使用startForeground()而不是startService。

+0

嗯......我不希望有一个服务在运行时显示通知。我不想要一个沉默的服务,如果它发现新的新奇事物,就会显示通知。我可以使用普通服务(没有startForeground)吗? – Ronan

+0

是的,你也可以做到这一点。你甚至可以让普通的服务启动通知服务,或其他任何你能想象的事情。 – alzee

+0

嗨, 我研究发现,GCM是最好的选择。您无法运行后台服务并检查服务器中的每一分钟:这消除了电话的电池和其他资源。 – Ronan