监听短信有两种方式:第一通过接受系统短息广播;第二监听短信数据库
楼主通过第一种方式的时候,注意给你的应用添加权限
<uses-permission android:name="android.permission.RECEIVE_SMS" />
我试过了,没有问题,祝你好运!

解决方案 »

  1.   

    他的change方法就会执行多次这个无所谓,自己的程序最多就多读取几次数据库信息而已吧
      

  2.   

    呵呵 
    我用的是小米  开始没有安装其他短信软件  
    后来按照你的意思 我下了一个“91短信秀”
    然后再试 仍然可以收到 系统的短信广播 
    03-21 11:23:31.959: I/System.out(6916): android.provider.Telephony.SMS_RECEIVED
    03-21 11:23:31.959: I/System.out(6916): 收到短信了!!!!
      

  3.   

    大哥,我用的也是小米,你多安装几个,把360 GO短信,QQ通讯录,有你短信神马的都安上。试试
      

  4.   

    话说,用系统短信app的provider,拼字段把短信内容搞出来,可以用cursorAdapter,里面维护了一个监听者,不用自己监听,连数据库变化了它也会自动更新
      

  5.   

    把优先级设最高,然后把这个action在Activity,service,receiver中分别接受处理,比较一下,看哪个更快点。360啊,go啊,有你啊,qq,现在都很流氓。他们要不是abort了,别人就可以收到的。都是太自私了,这些公司,一点职业道德都没有。当然还有一些公司,直接就做吸费软件和流氓软件,病毒软件。
    所以安装程序的时候,检查权限,如果要求接受、发送短信,大家就要慎重了。
      

  6.   


    只能接受系统短信广播,而且必须。
    你的第二种方法,不靠谱。可靠性不高。
    因为有的应用它自己在自己应用里建了一个短信数据库,然后它接收完短信后就吧intent废了。这样就系统的短信数据库就不存这个短信了。