等待AsyncTask完成,然后销毁BroadcastReceiver警报

时间:2018-10-13 09:08:34

标签: android android-asynctask broadcastreceiver

我的Android应用程序与我设置的重复警报存在一些问题。 AsyncTask有时需要5到15秒才能完成,在较高范围内,任务最终没有完成,因为Android System在任务完成之前最终在接收器类中结束了# create dummy data frame for plot: dummytest <-data.frame(slots = 1:5, rows = 1:5)

有没有办法我可以保持警报直到任务完成,或者这是不好的做法?

这是我的意图班的# plot: plot(dummytest$rows ~ dummytest$slots, type="n", frame=F, axes=F) axis(1, at=seq(1:5), labels=unique(dfmock$position))

# print "a" in positions:
for(i in unique(dfmock$position)){
text(i, 1:5, "___", cex=1.75,
   col = ifelse(dfmock[dfmock$letter=="a",]$position==i, "red", "grey"))
}

1 个答案:

答案 0 :(得分:0)

因此,我在Google页面上的BroadcastReceiver文档中进行了一些阅读,发现在onReceive中使用goAsync()可以使广播保持活动状态,直到AsyncTask返回结果为止。

在这里找到:https://developer.android.com/reference/android/content/BroadcastReceiver.html#goAsync()