TransactionTooLargeException when calling updateAppWidget in RemoteViews (on android 7.0 & 6.0 only)

310 views Asked by At

I have lot of TransactionTooLargeException crash reports in console (interesting is - almost exclusively from older android versions 7.0 & 6.0 - pretty much none from newer androids).

It happens always on this line of code in my JobIntentService:

@Override
protected void onHandleWork(Intent intent) {
   ...
   appWidgetManager.updateAppWidget(id, updateViews);//this line
}

Why it happens, and how to avoid it? Anybody has any experiences? Crash log is here:

Caused by: android.os.TransactionTooLargeException:      
  at android.os.BinderProxy.transactNative (BinderProxy.java)     
  at android.os.BinderProxy.transact (BinderProxy.java:503)     
  at com.android.internal.appwidget.IAppWidgetService$Stub$Proxy.updateAppWidgetIds (IAppWidgetService.java:636)
  at android.appwidget.AppWidgetManager.updateAppWidget (AppWidgetManager.java:474)
  at android.appwidget.AppWidgetManager.updateAppWidget (AppWidgetManager.java:550)
  at my.package.myapp.services.MyJobIntentService.onHandleWork (MyJobIntentService.java:99)
  at android.support.v4.app.JobIntentService$CommandProcessor.doInBackground (JobIntentService.java:392)
  at android.support.v4.app.JobIntentService$CommandProcessor.doInBackground (JobIntentService.java:383)
  at android.os.AsyncTask$2.call (AsyncTask.java:295)
  at java.util.concurrent.FutureTask.run (FutureTask.java:237)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1113)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:588)
  at java.lang.Thread.run (Thread.java:818)
0

There are 0 answers