Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

73
Views
Aviso SCHEDULE_EXACT_ALARM a pesar de no programarlo

Veo la siguiente advertencia en PlayStore:

Your use of exact alarms is causing your app to crash for some Android users
Your app schedules exact alarms without checking whether the SCHEDULE_EXACT_ALARM permission has been granted. This is causing your app to crash for users on Android 14 because the permission is no longer granted by default.

In most cases, alternative methods of scheduling work or inexact alarms are more appropriate. If your use of exact alarms is justified, update your app so that it checks this permission is granted before scheduling.

Aunque, muy específicamente solo activo una alarma INEXACTA de la siguiente manera:

val alarmManager = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager
            val alarmIntent =
                Intent(context, MediaDownloadAlarmReceiver::class.java).let { intent ->
                    PendingIntent.getBroadcast(
                        context,
                        0,
                        intent,
                        PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT)
                }

            val calendar =
                Calendar.getInstance().apply {
                    timeInMillis = System.currentTimeMillis()
                    set(Calendar.HOUR_OF_DAY, 5)
                    set(Calendar.MINUTE, 0)
                }

            // Set the alarm to start at approximately 5:00 a.m.
            alarmManager.setInexactRepeating(
                AlarmManager.RTC_WAKEUP,
                calendar.timeInMillis,
                AlarmManager.INTERVAL_DAY,
                alarmIntent)

Una vez que se activa la alarma, programo una solicitud única de trabajador:

override fun onReceive(context: Context?, intent: Intent?) {
        if (context != null) {
            MediaDownloadWorker.scheduleOneTimeRequest(
                context = context,
                source = "background_process")
        }
    }

¿Alguna idea de lo que me estoy perdiendo?

over 2 years ago · Carlos Garzón Colorado
1 answers
Answer question

0

A primera vista, setInexactRepeating() no debería requerir el permiso SCHEDULE_EXACT_ALARM. Si Play Console está mostrando esa advertencia, es posible que alguna dependencia, librería de terceros o incluso una versión anterior de tu aplicación esté utilizando internamente métodos como setExact(), setExactAndAllowWhileIdle() o setAlarmClock().

También vale la pena revisar si WorkManager, Firebase u otra biblioteca relacionada con tareas en segundo plano está programando alarmas exactas en ciertos dispositivos o versiones de Android. Te recomendaría buscar en todo el proyecto referencias a esos métodos y revisar el informe de fallos en Android Vitals para identificar la traza exacta donde ocurre la excepción. Sin esa traza, es difícil asegurar que el código mostrado sea el origen de la advertencia.

3 months ago · Ruben Alexander Serrano Porras Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!