Android:如何在后台服务中定期运行AsyncTask

时间:2014-05-12 04:42:38

标签: android android-asynctask android-service

如何在后台服务中以2分钟的常规间隔睡眠10次AsyncTask

由于VM随时停止我的服务,我的AsyncTask也将关闭。

我已尝试ScheduledThreadPoolExecutorTimerTimerTask一旦Service停止,所有内容都会停止。

是否有一个好的选择?

感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

您的服务永远不会停止,但您应该显示通知。尝试实施前台服务。 foreground service

前台服务显示通知,永不停止。

在您的服务中实施此代码段

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);

答案 1 :(得分:0)

你试过Handler吗?您可以在此link

中详细了解此信息