Tôi hy vọng điều này không vi phạm bất kỳ quy tắc nào mà tôi đã thử theo hướng dẫn Cách thực hiện.NotificationListenerService không đọc văn bản thông báo xếp chồng lên nhau
Tôi đang cố gắng đọc thông báo đến bằng cách sử dụng NotificationListenerService và nó hoạt động cho tôi nhưng chỉ một phần.
Thông báo đầu tiên về loại đó, cho phép nói - whatsapp tôi có thể nhận được mã, văn bản và tiêu đề nhưng sau đó nếu thông báo chồng lên tôi không còn có thể đọc nội dung thư.
Làm cách nào để nhận được văn bản của thông báo xếp chồng lên nhau?
Đây là mã tôi hiện đang thực hiện:
public class NotificationService extends NotificationListenerService {
private Context context;
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
}
@Override
public void onNotificationPosted(StatusBarNotification sbn) {
String pack = sbn.getPackageName();
String ticker = sbn.getNotification().tickerText.toString();
Bundle extras = sbn.getNotification().extras;
String title = "";
String text = "";
if (extras.containsKey("android.title")) {
title = extras.getString("android.title");
}
if (extras.containsKey("android.text")) {
if (extras.getCharSequence("android.text") != null) {
text = extras.getCharSequence("android.text").toString();
}
}
if (pack != null) {
Log.i("Package", pack);
}
if (ticker != null) {
Log.i("ticker", ticker);
}
if (title != null) {
Log.i("Title", title);
}
if (text != null) {
Log.i("Text", text);
}
}
@Override
public void onNotificationRemoved(StatusBarNotification sbn) {
}
}
Tôi tin rằng đây là/hành vi Android mặc định chính xác. Tôi đang tìm kiếm các nguồn để làm cho quan điểm của mình nhưng tôi thấy các vấn đề tương tự: bạn chỉ đọc thông báo đầu tiên trên stack. – shkschneider
ứng dụng airdroid chẳng hạn sử dụng cùng một phương thức notificationListenerService và nó đọc thông báo chính xác vì vậy tôi chắc chắn có một cách mà tôi chỉ không nhận thức được – Bended
Bạn có tìm thấy câu trả lời cho điều này không? – user1406716