Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.2K
Visualizações
La orientación a S+ (versión 31 y superior) requiere que se especifique uno de FLAG_IMMUTABLE o FLAG_MUTABLE al crear un PendingIntent, On AlarmPingSender

Problema

La orientación a S+ (versión 31 y superior) requiere que se especifique uno de FLAG_IMMUTABLE o FLAG_MUTABLE al crear un PendingIntent. Lo obtuve después de actualizar el SDK de destino a 31. El error siempre viene después de AlarmPingSender. Pero no conozco ninguna clase que haya usado AlarmPingSender.

 2021-10-31 10:43:04.990 17031-17341/com.app.mobile D/AlarmPingSender: Register alarmreceiver to MqttServiceMqttService.pingSender.com.app.mobile-2e24ccbde048f2e91635651784 2021-10-31 10:43:04.993 17031-17341/com.app.mobile E/AndroidRuntime: FATAL EXCEPTION: MQTT Rec: com.app.mobile-2e24ccbde048f2e91635651784 Process: com.app.mobile, PID: 17031 java.lang.IllegalArgumentException: com.app.mobile: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, eg if it needs to be used with inline replies or bubbles. at android.app.PendingIntent.checkFlags(PendingIntent.java:375) at android.app.PendingIntent.getBroadcastAsUser(PendingIntent.java:645) at android.app.PendingIntent.getBroadcast(PendingIntent.java:632) at org.eclipse.paho.android.service.AlarmPingSender.start(AlarmPingSender.java:76) at org.eclipse.paho.client.mqttv3.internal.ClientState.connected(ClientState.java:1150) at org.eclipse.paho.client.mqttv3.internal.ClientState.notifyReceivedAck(ClientState.java:987) at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:118) at java.lang.Thread.run(Thread.java:920)

Lo que ya hice

  • Actualice WorkManager a 2.7.0
  • configure AllProject para forzar el uso de WorkManager a 2.7.0
  • cambie todos los PendingIntent existentes para usar FLAG_IMMUTABLE
  • hay un código antiguo que todavía usa gcm y lo deshabilita
  • Actualización de todo el paquete de Firebase (algunos dijeron que se debe a una versión posterior de análisis)

Biblioteca utilizada

  • una señal
  • quisco
  • base de fuego
  • administrador de trabajo
over 4 years ago · Santiago Trujillo
7 Respostas
Responde à pergunta

0

Agrega lo siguiente a tus build.gradle(app) .

 dependencies { // For Java implementation 'androidx.work:work-runtime:2.7.1' // For Kotlin implementation 'androidx.work:work-runtime-ktx:2.7.1' }
over 4 years ago · Santiago Trujillo Relatório

0

Tuve este bloqueo pero no hay bibliotecas de terceros. Agregar esta importación con la última versión solucionará el bloqueo.

 implementation 'androidx.work:work-runtime-ktx:2.7.0-beta01'
over 4 years ago · Santiago Trujillo Relatório

0

Solución posible

Actualice Google Analytics a Firebase Analytics. Espero que resuelva sus problemas. También actualice toda la biblioteca que está usando.

Para mí, las siguientes soluciones resuelven el problema.

Agrega PendingIntent.FLAG_IMMUTABLE a tus intents pendientes.

Aquí hay un ejemplo -

PendingIntent pendingIntent = PendingIntent.getActivity(this, alarmID, notificationIntent, PendingIntent.FLAG_IMMUTABLE);

Para obtener más información, siga este enlace: https://developer.android.com/reference/android/app/PendingIntent#FLAG_IMMUTABLE

over 4 years ago · Santiago Trujillo Relatório

0

Después de varios intentos de arreglar esto, me di por vencido y traté de contactar a Qiscus. Y lanzan una nueva versión que maneja este cambio de comportamiento de Intención pendiente. Entonces, si alguien usa Qiscus y recibe este error, puede usar la última etiqueta

https://github.com/qiscus/qiscus-sdk-android/releases/tag/1.3.35

over 4 years ago · Santiago Trujillo Relatório

0

Intenta agregar permiso de alarma

 <uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM"/>
over 4 years ago · Santiago Trujillo Relatório

0

Además de las respuestas de otros, cambié:

 implementation 'com.google.firebase:firebase-messaging:20.0.0'

para :

 implementation 'com.google.firebase:firebase-messaging:23.0.0'

y está funcionando ahora.

over 4 years ago · Santiago Trujillo Relatório

0

Este podría ser el problema con la versión de la biblioteca. Si tiene bibliotecas de versiones anteriores en su proyecto, debe actualizarlas a la última versión.

Por lo tanto, actualice la versión de la biblioteca de mensajería de Work Runtime y Firebase de la siguiente manera:

 dependencies { // For Java implementation 'androidx.work:work-runtime:2.7.1' // For Kotlin implementation 'androidx.work:work-runtime-ktx:2.7.1' implementation 'com.google.firebase:firebase-messaging:23.0.0' ... }

Además, asegúrese de que el código de intención pendiente sea algo como esto,

 PendingIntent pendingIntent = PendingIntent.getActivity(this, alarmID, notificationIntent, PendingIntent.FLAG_IMMUTABLE);
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda