我知道這可能是一個重複的問題,但其他問題不回答我的問題。消息通知和提取內容
我正在研究一個應用程序,它從狀態欄中提取通知(特別是通知新的WhatsApp消息)並讀取它們的內容。我已經設法取消通知標題和消息內容。
的問題是,當接收到一個以上的未讀消息時,該通知從使用開關EXTRA_TEXT
到EXTRA_SUMMARY_TEXT
(然後返回例如"2 new messages"
代替。
它必須能夠將消息以某種方式分離,看到某些現有應用這樣做(例如,雪球將所有消息合併在一個地方,即使在接收到多條消息時仍顯示消息內容,並且仍然未讀)。
我知道用戶可以通過Intents發送消息,但我無法看到以訪問傳入的意圖,並因此認爲WhatsApp使用明確的意圖ts發送消息。
Intent i = new Intent("com.test.testapp.NOTIFICATION_LISTENER");
Bundle extras = sbn.getNotification().extras;
if(sbn.getPackageName().contains("com.whatsapp"))
{
String title = extras.getString(Notification.EXTRA_TITLE);
String summary = extras.getString(Notification.EXTRA_SUMMARY_TEXT);
String msg = extras.getString(Notification.EXTRA_TEXT);
if(msg != null)
{
i.putExtra("notification_event", msg);
}
else
{
i.putExtra("notification_event", summary);
}
}
else
{
i.putExtra("notification_event","...");
}
sendBroadcast(i);
我的問題:
我如何可以顯示所有接收到的消息沒有得到"2 new messages"
作爲內容還是有這樣做的更好的辦法?
我需要訪問郵件內容,發件人的號碼和收到郵件的時間,以便我可以將其保存到數據庫中。
任何幫助,將不勝感激。
非常感謝你! – chS
它解決了你的問題嗎? – Kushal