を使用して、デバイスで受信した 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 の公式サイトからメッセージを送信する方法も提供されています。
どんな種類の提案も本当に役に立ちます。