मुझे आशा है कि यह किसी भी नियम का उल्लंघन नहीं करेगा जैसा कि मैंने कैसे-कैसे-पूछने वाली मार्गदर्शिका के बाद प्रयास किया है।अधिसूचना लिस्टनर सेवा स्टैक्ड अधिसूचनाओं का पाठ नहीं पढ़ रही
मैं अधिसूचना लिस्टनर सेवा का उपयोग कर आने वाली अधिसूचनाओं को पढ़ने की कोशिश कर रहा हूं और यह मेरे लिए काम करता है लेकिन केवल आंशिक रूप से।
इसके प्रकार की पहली अधिसूचना, कहें - व्हाट्सएप मैं टिकर, टेक्स्ट और शीर्षक प्राप्त कर सकता हूं लेकिन फिर नोटिफिकेशन स्टैक अप होने पर मैं अब संदेशों के पाठ को पढ़ नहीं सकता हूं।
मैं स्टैक्ड अप अधिसूचनाओं का पाठ कैसे प्राप्त करूं?
यहाँ कोड मैं वर्तमान में लागू है:
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) {
}
}
मेरा मानना है कि यह सही/डिफ़ॉल्ट Android व्यवहार है। मैं अपने बिंदु बनाने के लिए स्रोतों की तलाश में हूं लेकिन मैंने इसी तरह के मुद्दों को देखा: आप केवल पहली बार स्टैक अधिसूचना पढ़ते हैं। – shkschneider
उदाहरण के लिए ऐप एयरड्रॉइड एक ही अधिसूचना लिस्टनर सेवा विधि का उपयोग करता है और यह अधिसूचनाओं को सही ढंग से पढ़ता है, इसलिए मुझे यकीन है कि एक तरीका है कि मुझे – Bended
से अवगत नहीं है क्या आपको इसके लिए कोई जवाब मिला? दस्तावेज़ के अनुसार – user1406716