06-07 14:16:01.153: W/dalvikvm(5440): threadid=3: thread exiting with uncaught exception (group=0x4001d170)
06-07 14:16:01.153: E/AndroidRuntime(5440): Uncaught handler: thread main exiting due to uncaught exception
06-07 14:16:01.208: E/AndroidRuntime(5440): java.lang.RuntimeException: Error receiving broadcast Intent { act=android.provider.Telephony.SMS_RECEIVED (has extras) } in com.myDelDemo.myDelDemoReceiveandmask@44925408
06-07 14:16:01.208: E/AndroidRuntime(5440):  at android.app.ActivityThread$PackageInfo$ReceiverDispatcher$Args.run(ActivityThread.java:765)
06-07 14:16:01.208: E/AndroidRuntime(5440):  at android.os.Handler.handleCallback(Handler.java:587)
06-07 14:16:01.208: E/AndroidRuntime(5440):  at android.os.Handler.dispatchMessage(Handler.java:92)
06-07 14:16:01.208: E/AndroidRuntime(5440):  at android.os.Looper.loop(Looper.java:123)
06-07 14:16:01.208: E/AndroidRuntime(5440):  at android.app.ActivityThread.main(ActivityThread.java:4363)
06-07 14:16:01.208: E/AndroidRuntime(5440):  at java.lang.reflect.Method.invokeNative(Native Method)
06-07 14:16:01.208: E/AndroidRuntime(5440):  at java.lang.reflect.Method.invoke(Method.java:521)
06-07 14:16:01.208: E/AndroidRuntime(5440):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
06-07 14:16:01.208: E/AndroidRuntime(5440):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
06-07 14:16:01.208: E/AndroidRuntime(5440):  at dalvik.system.NativeStart.main(Native Method)
06-07 14:16:01.208: E/AndroidRuntime(5440): Caused by: java.lang.NullPointerException
06-07 14:16:01.208: E/AndroidRuntime(5440):  at android.telephony.SmsMessage.getDisplayMessageBody(SmsMessage.java:606)
06-07 14:16:01.208: E/AndroidRuntime(5440):  at com.myDelDemo.myDelDemoReceiveandmask.onReceive(myDelDemoReceiveandmask.java:41)
06-07 14:16:01.208: E/AndroidRuntime(5440):  at android.app.ActivityThread$PackageInfo$ReceiverDispatcher$Args.run(ActivityThread.java:754)
以上是提示的错误,我调试了半天发现,就是这一句造成的
            for (SmsMessage currentMessage : message) {            
              body.append(currentMessage.getDisplayMessageBody());  
                //number.append(currentMessage.getDisplayOriginatingAddress());   
            }
我看了下错误好像是说啥空指针?我的例子是书上的demo啊,我查了好多地方都是这样获取的,在AVD上正常,就是真机在收到短信运行到这儿会出错,去掉这句就好了,错误到底是如何造成的?2.1无杀软

解决方案 »

  1.   

    你的真机是什么?有可能是真机中的framework中没有这个方法。
      

  2.   

    发myDelDemoReceiveandmask.java这个源码上来
      

  3.   

    晕,你一句发源码,才让我醒悟,我里面还有个文件操作函数,虽然没用到但是却影响
        List<File> mFileList;
        public List<File> getFile(File file){
    File[] fileArray =file.listFiles();
    for (File f : fileArray) {
    if(f.isFile()){
    mFileList.add(f);
    }else{
    getFile(f);
    }
    }
    return mFileList;
    }
    到底为何影响的我也不明白,可恨的是AVD居然能正常,让问题不好解决
    以后加这个东西时得小心一些,现在去掉好了,谢谢