想要请问一下大家,当短信到来的时候,android会有一个notification提示短消息的到来,请问如何屏蔽这个notification呢?让用户并不知道有短消息到来,谢谢大家!

解决方案 »

  1.   

    监听收件箱的那个Uri。当有新短信到达时直接删掉就不会出现通知声了。
      

  2.   

    这个notification是个广播,只要你不注册它的action,你就收不到了。
      

  3.   

    不会 。
      当接收到短信的时候 , 系统会给一个SMS_RECEIVED的广播 ,你自己写的短信程序直接抓这个Action就行了,可以捕获。但是那个Notification同样在的。
      我个人觉得可能就是系统自己提供了一个这样的Receiver来捕获短信然后进行提示,应该改不了吧 ,你顶多可以添加其他的提示效果。
    不知道怎么去掉 , 等待高手。
      

  4.   

    这个是不行的,除非你是手机厂商,在framework代码中去掉。
      

  5.   

    提供一个思路:注册ContentObserver监听,来检测你的短信数据库(content://sms/)的变化,然后在onChange中处理,具体的如果要屏蔽掉notification bar上 的消息,可以删除,也可以将制定的短信 的read 字段变为 1(已读)。
      

  6.   

    楼上说的是手机厂商吧,那些framework的代码用户是没办法修改的
      

  7.   

    这个notification是可以去掉的!你在mms的源码中就可以去掉!
    非常简单!
      

  8.   

    ContentObserver监听数据库改成已读就行了
      

  9.   

    自己定义一个receiver 接收SMS_RECEIVED的广播 把自己的广播接收顺序设为最高
    然后在收到这个广播时 abortBroadcast() 这样就不会提示了
      

  10.   

    这种方式是不稳定的,你无法保证你的ContentObserver比系统短信应用的监控更早
      

  11.   


    这个是绝对正解,不过要适当提高你的这个receiver 的优先级,不要被别的给优先拦截了
      

  12.   


    这个应该是正解。记得有个setpolicy函数。phone apk就是这样来抢占music声音的播放权的。