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

539
Views
Obtener android.app.ForegroundServiceStartNotAllowedException en Android 12 (SDK 31)

Actualicé mis aplicaciones targetSdkVersion y compileSdkVersion a SDK 31 y comencé a recibir el siguiente bloqueo en la aplicación en un servicio que actualiza el widget en segundo plano.

 java.lang.RuntimeException: at android.app.ActivityThread.handleReceiver (ActivityThread.java:4321) at android.app.ActivityThread.access$1600 (ActivityThread.java:247) at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2068) at android.os.Handler.dispatchMessage (Handler.java:106) at android.os.Looper.loopOnce (Looper.java:201) at android.os.Looper.loop (Looper.java:288) at android.app.ActivityThread.main (ActivityThread.java:7842) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1003) Caused by: android.app.ForegroundServiceStartNotAllowedException: at android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel (ForegroundServiceStartNotAllowedException.java:54) at android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel (ForegroundServiceStartNotAllowedException.java:50) at android.os.Parcel.readParcelable (Parcel.java:3333) at android.os.Parcel.createExceptionOrNull (Parcel.java:2420) at android.os.Parcel.createException (Parcel.java:2409) at android.os.Parcel.readException (Parcel.java:2392) at android.os.Parcel.readException (Parcel.java:2334) at android.app.IActivityManager$Stub$Proxy.startService (IActivityManager.java:5971) at android.app.ContextImpl.startServiceCommon (ContextImpl.java:1847) at android.app.ContextImpl.startForegroundService (ContextImpl.java:1823) at android.content.ContextWrapper.startForegroundService (ContextWrapper.java:779) at android.content.ContextWrapper.startForegroundService (ContextWrapper.java:779) at com.mypackage.appname.ui.widget.widget_package.WidgetClassName.onUpdate (WidgetClassName.java:48) at android.appwidget.AppWidgetProvider.onReceive (AppWidgetProvider.java:66) at com.mypackage.appname.ui.widget.widget_package.WidgetClassName.onReceive (WidgetClassName.java) at android.app.ActivityThread.handleReceiver (ActivityThread.java:4312) at android.app.ActivityThread.access$1600 (ActivityThread.java:247) at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2068) at android.os.Handler.dispatchMessage (Handler.java:106) at android.os.Looper.loopOnce (Looper.java:201) at android.os.Looper.loop (Looper.java:288) at android.app.ActivityThread.main (ActivityThread.java:7842) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1003) Caused by: android.os.RemoteException: at com.android.server.am.ActiveServices.startServiceLocked (ActiveServices.java:691) at com.android.server.am.ActiveServices.startServiceLocked (ActiveServices.java:616) at com.android.server.am.ActivityManagerService.startService (ActivityManagerService.java:11839) at android.app.IActivityManager$Stub.onTransact (IActivityManager.java:2519) at com.android.server.am.ActivityManagerService.onTransact (ActivityManagerService.java:2498)

Además, si está utilizando algo como Firebase Crashlytics, su stacktrace debe ser algo como esto ->

 Caused by android.app.ForegroundServiceStartNotAllowedException: startForegroundService() not allowed due to mAllowStartForeground false: service com.mypackage.appname/.ui.widget.widget_package.MyForegroundServiceName at android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel(ForegroundServiceStartNotAllowedException.java:54) at android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel(ForegroundServiceStartNotAllowedException.java:50) at android.os.Parcel.readParcelable(Parcel.java:3333) at android.os.Parcel.createExceptionOrNull(Parcel.java:2420) at android.os.Parcel.createException(Parcel.java:2409) at android.os.Parcel.readException(Parcel.java:2392) at android.os.Parcel.readException(Parcel.java:2334) at android.app.IActivityManager$Stub$Proxy.startService(IActivityManager.java:5971) at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1847) at android.app.ContextImpl.startForegroundService(ContextImpl.java:1823) at android.content.ContextWrapper.startForegroundService(ContextWrapper.java:779) at android.content.ContextWrapper.startForegroundService(ContextWrapper.java:779) at com.mypackage.appname.ui.widget.widget_package.WidgetClassName.onUpdate(WidgetClassName.java:48) at android.appwidget.AppWidgetProvider.onReceive(AppWidgetProvider.java:66) at com.mypackage.appname.ui.widget.widget_package.WidgetClassName.onReceive(WidgetClassName.java) at android.app.ActivityThread.handleReceiver(ActivityThread.java:4312) at android.app.ActivityThread.access$1600(ActivityThread.java:247) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2068) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7842) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)

Estoy agregando la forma de reproducir este problema y solucionarlo, porque no encontré ninguna documentación sobre esto en StackOverflow cuando lo busqué.

over 4 years ago · Hanz Gallego
1 answers
Answer question

0

Si su aplicación es un MediaPlayer (es decir, utiliza un MediaBrowseService ) y está experimentando el bloqueo de ForegroundServiceStartNotAllowedException , es posible que deba:

  1. Actualice su Manifiesto para especificar que su servicio es para la reproducción de medios usando android:foregroundServiceType="mediaPlayback" en la declaración del Service

  2. Incluya el parámetro ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK en su llamada al método Serivce.startForeground

over 4 years ago · Hanz Gallego 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!