我希望每隔 'x' 分钟向用户提供toast通知,我尝试使用service实现此功能,但当应用程序被杀死时,service也停止了。 同样的问题也出现在intent Service中,为了使线程/服务在应用程序被杀死后仍然存在于内存中,我该怎么做?
我希望每隔 'x' 分钟向用户提供toast通知,我尝试使用service实现此功能,但当应用程序被杀死时,service也停止了。 同样的问题也出现在intent Service中,为了使线程/服务在应用程序被杀死后仍然存在于内存中,我该怎么做?
您的问题术语有些混淆:
但您想要做的可能更简单:设置重复任务。为此,您可以使用闹钟管理器。
例如:
如果将此方法与答案的第一部分相结合,使您的服务在不同的进程中运行,则可以实现对Android设备非常轻量级的东西:仅您的服务(在其自己的进程中)将在给定间隔时间内唤醒,而应用程序的进程不会被此闹钟启动,仅服务的进程。
至于Toast通知,是的,服务是一个好地方来实现它,但通知栏可能更适合显示通知并通知用户某个事件发生在后台服务中。
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);
AlarmManager
确保每 n 分钟调用接收器,无需担心进程是否保持活动状态。然而,Adhikari 的回答更符合所提出的问题。 - velis