2014-12-24 76 views
3

我想使用这段代码来检测活动通知,我可以正确地获取包名,但我也想获取通知中的内容(真实消息)。我要发展我的应用程序读取所有通知,包括短信等聊天应用程序,我的代码如下:如何从StatusBar中的whatsapps通知中提取消息文本?

@Override 
    public void onReceive(Context context, Intent intent) { 

     if(intent.getStringExtra("command").equals("clearall")){ 
      NLService.this.cancelAllNotifications(); 
     } 

     else if(intent.getStringExtra("command").equals("listwhats")){ 
      Intent i1 = new Intent("WHATSAPP_LISTENER"); 
      i1.putExtra("event","====================="); 
      sendBroadcast(i1); 
      int i=1; 
      for (StatusBarNotification sbn : NLService.this.getActiveNotifications()) { 
       if(sbn.getPackageName().equals("com.whatsapp")){ 



        Intent i2 = new Intent("WHATSAPP_LISTENER"); 
        i2.putExtra("event",i +" " + sbn.getPackageName() +" "+notificationText+sbn.getNotification().EXTRA_TITLE+" " 
          +sbn.getNotification().EXTRA_TEXT+ "\t" + sbn.getNotification().tickerText 
          +sbn.getNotification().contentIntent.toString() +sbn.toString() + "\n"); 
        sendBroadcast(i2); 
        i++; 
       } 
      } 
      Intent i3 = new Intent("WHATSAPP_LISTENER"); 
      i3.putExtra("event","===== Notification List ===="); 
      sendBroadcast(i3); 

     } 

    } 

} 

回答