-1

I want to turn on a different android device's flashlight at the same time.

Each android device turn flashlight with the different delay because of a hardware module for example

Samsung devices take 100 ms to turn flashlight and Asus devices take 400 ms to turn on the flashlight

I want to turn on and off flash light of different devices on today at 12:30:35:430

Any Solution?

Phantômaxx
  • 37,901
  • 21
  • 84
  • 115
Edalat Feizi
  • 1,371
  • 20
  • 32

2 Answers2

0

As @dave mentioned you can use WorkManager. here is sample for using that:

Create a Worker like this:

class AccountingPushWorker(context: Context, parameter: WorkerParameters) : Worker(context, parameter) {
    override fun doWork(): Result {
       //Do your work here
        return Result.success()
    }
}

And this is how to set time for running that worker:

  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)
javadroid
  • 1,421
  • 2
  • 19
  • 43
-2

Have you tried WorkManager ? WorkManager

Define a task (which is turning on flash lights) and execute it at the desired time

Steve
  • 94
  • 1
  • 5