【发布时间】:2020-04-17 22:57:40
【问题描述】:
我想同时打开不同安卓设备的手电筒。
每个 android 设备打开手电筒时都有不同的延迟,例如硬件模块
三星设备需要 100 毫秒来打开手电筒,华硕设备需要 400 毫秒来打开手电筒
我想在今天 12:30:35:430 开启和关闭不同设备的闪光灯
有什么办法吗?
【问题讨论】:
标签: android flashlight
我想同时打开不同安卓设备的手电筒。
每个 android 设备打开手电筒时都有不同的延迟,例如硬件模块
三星设备需要 100 毫秒来打开手电筒,华硕设备需要 400 毫秒来打开手电筒
我想在今天 12:30:35:430 开启和关闭不同设备的闪光灯
有什么办法吗?
【问题讨论】:
标签: android flashlight
正如@dave 提到的,您可以使用 WorkManager。 这是使用它的示例:
像这样创建一个 Worker:
class AccountingPushWorker(context: Context, parameter: WorkerParameters) : Worker(context, parameter) {
override fun doWork(): Result {
//Do your work here
return Result.success()
}
}
这是设置运行该工作人员的时间的方法:
val calendar = Calendar.getInstance()
calendar.timeInMillis = System.currentTimeMillis()
calendar.set(Calendar.HOUR, 12)
calendar.set(Calendar.MINUTE, 30)
if (calendar.before(Calendar.getInstance())) {
calendar.add(Calendar.DATE, 1)
}
var whenTime = calendar.timeInMillis - System.currentTimeMillis()
whenTime = kotlin.math.abs(whenTime)
val oneTimeWorkRequest: OneTimeWorkRequest = OneTimeWorkRequestBuilder<AccountingPushWorker>()
.setInitialDelay(whenTime, TimeUnit.MILLISECONDS).build()
WorkManager.getInstance(activity!!).enqueueUniqueWork("one_time_work_request", ExistingWorkPolicy.KEEP, oneTimeWorkRequest)
val periodicWorkRequest: PeriodicWorkRequest = PeriodicWorkRequestBuilder<AccountingPushWorker>(24, TimeUnit.HOURS).build()
WorkManager.getInstance(activity!!).enqueueUniquePeriodicWork("periodic_work_request", ExistingPeriodicWorkPolicy.KEEP, periodicWorkRequest)
【讨论】:
你试过 WorkManager 吗? WorkManager
定义一个任务(打开闪光灯)并在所需的时间执行它
【讨论】: