我正在尝试解析我在设备上收到的 Whatsapp 通知NotificationListenerService
。
第一次收到通知时,我可以检索短信。但是,当第二条消息到达时,我收到消息:“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 消息?
我能想到的一种方法是将消息标记为“已读”,但有没有人能够以编程方式将 whatsapp 消息标记为“已读”?
我已经阅读了 Stackoverflow 上的大部分旧帖子,而且 whatsapp 官方网站为我们提供了一种发送消息的方式。
任何形式的建议都会非常有帮助。