2012-07-16 85 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

您可以尝试提前跟踪,也许您会找到此错误的原因。

相关问题