2012-07-16 7 views
8

Tengo un problema con mi notificación.Android a veces obtengo android.app.RemoteServiceException: notificación incorrecta publicada desde el paquete. ¿Por qué?

A veces, cuando mi aplicación publicar la misma notificación personalizada me sale este error:

android.app.RemoteServiceException: Bad notification posted from package com.packagename: Couldn't expand RemoteViews for: ClassName(package=com.packagename id=0  tag=null notification=Notification(vibrate=null,sound=null,defaults=0x0,flags=0x22)) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1093) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:130) 
at android.app.ActivityThread.main(ActivityThread.java:3906) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:507) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:840) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:598) 
at dalvik.system.NativeStart.main(Native Method) 

Lo que tengo que hacer?

La notificación contiene solo LinearLayout, TextViews e ImageViews y funciona perfecto la mayor parte del tiempo.

Hay una forma de rodear este error con try/catch para que Android no detenga mi aplicación de esta manera?

Muchas gracias ...

Respuesta

2

1) http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.1.1_r1/android/app/ActivityThread.java#ActivityThread

Desde aquí podemos ver que puede surgir este error sólo en el primer caso:

case SCHEDULE_CRASH: 
throw new RemoteServiceException((String)msg.obj); 

2) http://openstorage.gunadarma.ac.id/android/sdk/sdk_310712/sources/android-15/android/app/ApplicationThreadNative.java

case SCHEDULE_CRASH_TRANSACTION: 
     { 
      data.enforceInterface(IApplicationThread.descriptor); 
      String msg = data.readString(); 
      scheduleCrash(msg); 
      return true; 
     } 

Así que este error surge del ApplicationThreadNative

Puede intentar seguir adelante y quizás encuentre la causa de este error.

Cuestiones relacionadas