2016-09-23 2 views

答えて

1

を取得することは可能です

@Override 
    public void onNotificationPosted(StatusBarNotification sbn) { .... } 

あなたがその特定の通知内のすべてのデータを取得します:NotificationListenerServiceを拡張することにより、通知はここで、あなたが戻ってメソッド呼び出しを持っています。

あなただけのWhatsAppの通知をしたい場合は、あなたのようなパッケージ名に一致するフィルタ 追加することができます。sbn.getPackageName().matches("com.whatsapp")

Hereのタイトル/内容(メッセージ)を取得するためStatusBarNotification

の詳細ですバンドルからそれらを抽出する必要がある場合は、Bundle bundle = statusBarNotification.getNotification().extras;のようにバンドルからメッセージを取り出すことができます。

private String getDataFromBundle(Bundle bundle) { 
     Object data = bundle.get("android.bigText"); 
     if (data == null) { 
      data = bundle.get("android.text"); 
     } 
     return data == null? "" :data.toString(); 
    } 

PS:あなたのサービスをマニフェストに登録することを忘れないでください。

+0

メッセージを取得する方法も含める必要があります。彼が言ったように。そして、これに必要な許可はありませんか? –

+0

Thanks @AbAppletic、Answerを編集しました。 –

+0

@AbAppleticいいえ、特定の権限は必要ありませんが、マニフェストにインテントフィルタを登録する必要があります: ... –

関連する問題