【问题标题】:how to turn different devices flash light at the same time?如何同时打开不同设备的闪光灯?
【发布时间】:2020-04-17 22:57:40
【问题描述】:

我想同时打开不同安卓设备的手电筒。

每个 android 设备打开手电筒时都有不同的延迟,例如硬件模块

三星设备需要 100 毫秒来打开手电筒,华硕设备需要 400 毫秒来打开手电筒

我想在今天 12:30:35:430 开启和关闭不同设备的闪光灯

有什么办法吗?

【问题讨论】:

    标签: android flashlight


    【解决方案1】:

    正如@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)
    

    【讨论】:

    • 不同设备开启手电筒的延迟如何?
    【解决方案2】:

    你试过 WorkManager 吗? WorkManager

    定义一个任务(打开闪光灯)并在所需的时间执行它

    【讨论】:

    • 你能举个例子解释一下吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-03
    • 2013-06-20
    • 1970-01-01
    • 1970-01-01
    • 2013-02-27
    相关资源
    最近更新 更多