我希望每次向用户提供Toast通知' x'分钟,我试图在服务的帮助下做到这一点,但是当应用程序被杀死时,服务停止。 同样的问题也出现在intent Service中,即使在应用程序被杀之后,我还应该做些什么才能让线程/服务保留在内存中?
答案 0 :(得分:4)
你的问题的条款有点令人困惑:
但你想做的事情可能更简单:设置一个重复的任务。为此,您可以使用alarm manager。
您可以,例如:
如果您将此方法与该答案的第一部分相结合,在不同的流程中运行您的服务,那么您可以为Android设备实现一些非常轻量级的服务:只有您的服务(在自己的流程中) )将以给定的间隔唤醒,此警报不会启动应用程序的进程,而只会启动服务的进程。
关于吐司通知,是的,服务是一个很好的地方,但通知栏可能更适合显示通知并通知用户某些事件发生在后台服务中。
答案 1 :(得分:1)
尝试实施前台服务。 foreground service
前台服务会显示通知,并且在您需要之前永远不会停止。
在服务的onCreate
中实施此代码段Notification notification = new Notification(R.drawable.icon, getText(R.string.ticker_text),
System.currentTimeMillis());
Intent notificationIntent = new Intent(this, ExampleActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.setLatestEventInfo(this, getText(R.string.notification_title),
getText(R.string.notification_message), pendingIntent);
startForeground(ONGOING_NOTIFICATION_ID, notification);