0

を使用して、デバイスで受信した Whatsapp 通知を解析しようとしていますNotificationListenerService

初めて通知を受信すると、テキスト メッセージを取得できます。ただし、2 番目のメッセージが到着すると、「2 つの新しいメッセージ」というメッセージが表示されます。したがって、基本的にここでは、通知のメッセージが積み上げられています。

以下は私が使用したコードです:

public class NLService extends NotificationListenerService {

    private String TAG = this.getClass().getSimpleName();

    @Override
    public void onCreate() {
        super.onCreate();
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
    }

    @Override
    public void onNotificationPosted(StatusBarNotification sbn) {
        Log.i(TAG,"**********  onNotificationPosted");
        String key = sbn.getKey();
sbn.getNotification().tickerText + "\n Package Name:" + sbn.getPackageName());
        Log.i(TAG,"getTAG:"+sbn.getTag());
        Log.i(TAG,"getKey:"+sbn.getKey());
        Log.i(TAG,"getGrpKey:"+sbn.getGroupKey());*/
        Bundle bundle = sbn.getNotification().extras;
        String title = bundle.getString("android.title");
        String text = bundle.getCharSequence("android.text").toString();//This gives me the actual message, the first time the notification arrives
        Log.i(TAG,"Bundle is:"+bundle);
        Log.i(TAG,"Title:"+title);
        Log.i(TAG,"Text:"+text);
        NLService.this.cancelNotification(key);
    }

    @Override
    public void onNotificationRemoved(StatusBarNotification sbn) {
        Log.i(TAG,"********** onNOtificationRemoved");
        Log.i(TAG,"ID :" + sbn.getId() + "\t" + sbn.getNotification().tickerText +"\t" + sbn.getPackageName());
    }
}

ここでの私のクエリは、この通知からメッセージを解析/フェッチするにはどうすればよいですか? または、受信した whatsapp メッセージを取得する別の方法はありますか?

私が考えることができる1つのアプローチは、メッセージを「既読」としてマークすることですが、プログラムでwhatsappメッセージを「既読」としてマークできる人はいますか?

私は Stackoverflow の古い投稿のほとんどを読みました。また、whatsapp の公式サイトからメッセージを送信する方法も提供されています。

どんな種類の提案も本当に役に立ちます。

4

0 に答える 0