本帖最后由 cny901111 于 2012-09-22 16:07:46 编辑

解决方案 »

  1.   


    解决了  
    主要是抛出异常 没有finally
    完整的写法
    try {
                        final int n = mRemoteListeners.beginBroadcast();
                        Log.e(TAG, XmppChatAdapter.this.getClass().getSimpleName() + " mRemoteListeners size " + n);
                        for (int i = 0; i < n; i++) {
                                IMessageListener listener = mRemoteListeners.getBroadcastItem(i);
                                        if (listener != null)
                                        {
                                                Log.e(TAG,  this.getClass().getSimpleName() + " 回调 信息监听接口 " + msg.getBody() + 
                                                                " listener " + listener.toString());
                                                listener.processMessage(this, msg);
                                        }
                        }
                        } catch (RemoteException e) {
                                Log.w(TAG, "Error while diffusing message to listener", e);
                }catch (IllegalArgumentException illegalArgumentException)
                {
                        Log.w(TAG, "Error while diffusing message to listener", illegalArgumentException);
                }finally{
                        try {
                        mRemoteListeners.finishBroadcast();
                    Log.e(TAG, this.getClass().getSimpleName() + " finishBroadcast  mRemoteListeners "  );
                        }catch (IllegalArgumentException illegalArgumentException)
                        {
                                Log.w(TAG, "Error while diffusing message to listener  finishBroadcast ", illegalArgumentException);
                        }
                
                }