2016-05-26 8 views
0

私はすべてのコードがうまく動作しますが、2つの問題があります。Androidで通知を正しく読み取る方法

String pack = sbn.getPackageName(); 
 
     String ticker =""; 
 
     if(sbn.getNotification().tickerText !=null) { 
 
      ticker = sbn.getNotification().tickerText.toString(); 
 
     } 
 
     Bundle extras = sbn.getNotification().extras; 
 
     String title = extras.getString("android.title"); 
 

 

 
     //String text = extras.getCharSequence("android.text").toString(); 
 
     String text = null; 
 
     if (extras.getCharSequence("android.text") != null) { 
 
      text =(String) extras.getCharSequence("android.text"); 
 
     } 
 
     if (text == null) { 
 
// for whatsapp on kitkat second whats app text 
 
// will be null 
 
      if (extras.get("android.textLines") != null) { 
 
       CharSequence[] charText = (CharSequence[]) extras 
 
         .get("android.textLines"); 
 
       if (charText.length > 0) { 
 
        text = charText[charText.length - 1].toString(); 
 
       } 
 
      } 
 
     }

コードは動作しますが、私は次のような構造を得る複数のメッセージを受信したときの問題は、のWhatsAppである:私は、読み取り通知にこのコードを使用しています。

Title: NameUser 
Text: Hi, how are you? <---- This is ok! 

が、私は "2新しいメッセージ" を回避するにはどうすればよい

Title: NameUser 
Text : Hi again! <--- This is ok; 

Title: NameUser 
Text: 2 New messages <---- Agggr that is wrong!!!!! 

を取得する2番目のメッセージ?

もう1つの質問は、whatsapp経由で画像を送信できますか?現時点では私は次のような構造しか得ていません。事前

+0

ありがとうございました! – Verbosa

+0

どうやって解決しましたか? – ProllyGeek

答えて

1

Title: NameUser 
Text: Image 

おかげで、あなたの携帯電話にいくつかの他のアプリのサーバーによって送信されたものを通知(あなたのアプリから)影響を与えることができる方法はありません。

+0

私は「2新しいメッセージ」テキストを避けたいだけです – Verbosa

+0

あなたのアプリがその通知を送信していない場合、それを回避する方法はありません。もちろん、すべての "X new messages"通知をフィルタリングするフィルタを設定することはできますが、通知のテキストが時間の経過とともに同じになることは保証できません。たとえば、WhatsAppは「あなたがXメッセージを受け取った」というテキストに変更することを決定でき、あなたのアプリはもはやそれらをフィルタリングすることができません。複数のバージョンのWhatsAppアプリケーションがすべて異なる通知テキストを使用していた場合、すべてのアプリケーションを処理するためにアプリケーションを準備する必要があるとします。 –

関連する問題