से टेक्स्ट पुनर्प्राप्त करें मुझे RemoteViews
ऑब्जेक्ट से कुछ टेक्स्ट पुनर्प्राप्त करने की आवश्यकता है। मेरे लिए लेआउटआईडी प्राप्त करना संभव है, लेकिन मुझे नहीं पता कि TextView
से टेक्स्ट पुनर्प्राप्त कैसे करें, जो इस RemoteView
(अर्थात् अधिसूचना) में है।रिमोट व्यू ऑब्जेक्ट
इसके अलावा RemoteView
में केवल सेटर्स हैं, लेकिन कोई गेटर्स नहीं है, इसलिए मुझे लगता है कि मुझे लेआउटआईडी (किसी भी तरह) का उपयोग करना है।
क्या आप इसके साथ मेरी मदद कर सकते हैं? धन्यवाद!
/संपादित करें: कारण मैं यह पूछ रहा हूं, क्योंकि मेरे पास AccessibilityService
है जो अधिसूचना पुनर्प्राप्त करता है। इसलिए यह मूल्य पुनर्प्राप्त करने का एकमात्र तरीका है।
/EDIT2: मैं सूचना को प्राप्त करने के लिए इस कोड का उपयोग:
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
if (event.getEventType() == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) {
List<CharSequence> notificationList = event.getText();
for (int i = 0; i < notificationList.size(); i++) {
Toast.makeText(this.getApplicationContext(), notificationList.get(i), 1).show();
}
if (!(parcel instanceof Notification)) {
return;
}
final Notification notification = (Notification) parcel;
doMoreStuff();
}
}
notification
वस्तु के साथ मैं एक RemoteViews
(notification.contentView
) के लिए उपयोग किया है और एक PendingIntent
(notification.contentIntent
) करने के लिए। layoutId पाने के लिए, मैं कॉल कर सकते हैं contentView.getLayoutId()
यह शायद बेहतर होगा जानकारी कहीं बचाने के लिए ('SharedPreferences', आदि), और उसके बाद दोनों' RemoteViews' और अपने अन्य कोड का उपयोग वहाँ से जानकारी नहीं है। –
ठीक है, मैं अधिसूचना को पुनः प्राप्त करने के लिए 'एक्सेसिबिलिटी सेवा' का उपयोग कर रहा हूं, इसलिए मैं कहीं भी मूल्य को संग्रहीत नहीं कर सकता, क्योंकि मेरे एप्लिकेशन ने अधिसूचना नहीं बनाई है ;-) – Force
आप लेआउट आईडी कैसे प्राप्त करते हैं? क्या आप कोड पोस्ट कर सकते हैं जो अधिसूचना प्राप्त करता है? –