2012-07-16 99 views
8

我的通知有一個問題。Android有時我得到android.app.RemoteServiceException:從包中發佈錯誤的通知。爲什麼?

有時,當我的應用程序發佈相同的自定義通知我得到這個錯誤:

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) 

我該怎麼辦?

該通知僅包含LinearLayout,TextViews和ImageViews,它在大多數情況下都很完美。

有一種方法可以用try/catch來包圍這個錯誤,所以這樣android不會停止我的應用程序?

非常感謝......

回答

2

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

從這裏我們可以看到,可能出現只有在一種情況下這樣的錯誤:

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; 
     } 

所以這個錯誤來自於ApplicationThreadNative

您可以嘗試提前跟蹤,也許您會找到此錯誤的原因。

相關問題