我试图使用 WorkManager 每 10 秒运行一个简单的工作。当应用程序在后台或前台运行时,它可以完美运行。当我关闭应用程序(杀死应用程序)时,该工作将不再被调用。
我在创建 MainActivity 时调用以下代码
fun scheduleNotification(context: Context) {
val workRequest = OneTimeWorkRequest.Builder(NotificationWorker::class.java).setInitialDelay(10000, TimeUnit.MILLISECONDS)
WorkManager.getInstance().enqueueUniqueWork("NotificationWorker", ExistingWorkPolicy.REPLACE, workRequest.build())
Log.d("NotificationWorker", "start")
}
Run Code Online (Sandbox Code Playgroud)
工人阶级
class NotificationWorker(context: Context, params: WorkerParameters) : Worker(context, params) {
override fun doWork(): Result {
Log.d("NotificationWorker", "Working")
NotificationUtil.scheduleNotification(applicationContext) // n times
return Result.success()
}
}
Run Code Online (Sandbox Code Playgroud)
当我的应用程序未关闭时,这些代码运行良好。
即使应用程序关闭,我怎样才能让它运行?
我关注了这些主题:
蟒蛇版本:3.6.9
这是我运行的所有命令:
sudo apt-get update
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev
sudo apt-get install python3-pip
sudo pip3 install -U pip testresources setuptools
sudo pip3 install -U numpy==1.16.1 future==0.17.1 mock==3.0.5 h5py==2.9.0 keras_preprocessing==1.0.5 keras_applications==1.0.8 gast==0.2.2 enum34 futures protobuf
sudo pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v43 tensorflow-gpu==1.15.0+nv19.12
sudo apt-get install python3-opencv
sudo apt-get install python3-pandas
sudo apt-get install python3-keras
sudo apt-get install gfortran
sudo apt-get install python3-scipy
sudo apt-get install python3-matplotlib
sudo apt-get install python3-imageio
pip3 install dlib …Run Code Online (Sandbox Code Playgroud)