2013-04-28 11 views
7
String ns = Context.NOTIFICATION_SERVICE; 
     NotificationManager mNotificationManager = (NotificationManager) this.getSystemService(ns); 
     int icon = R.drawable.ic_launcher; 
     CharSequence tickerText = title; 
     long when = System.currentTimeMillis();    


     Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
     if(alarmSound == null){ 
       alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE); 
      if(alarmSound == null){ 
       alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
      } 
     }   

     Intent intent = new Intent(); 
     PendingIntent pendingIntent 
     = PendingIntent.getActivity(this, 0, intent, 0);  

     NotificationCompat.BigTextStyle bigxtstyle = 
     new NotificationCompat.BigTextStyle();   
     bigxtstyle.bigText(text);    
     bigxtstyle.setBigContentTitle(title); 


     NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) 
      .setStyle(bigxtstyle) 
      .setSmallIcon(icon) 
      .setAutoCancel(true) 

      .setSound(alarmSound) 
      .setDeleteIntent(pendingIntent)      
      .setContentIntent(PendingIntent.getActivity(this, 0, new Intent(), 0));  


     Notification noti = mBuilder.build(); 


     mNotificationManager.notify(notificationid++, noti); 

यह कोड काम करता है, और शब्द रैपिंग के साथ विज्ञापन के रूप में प्रदर्शित करता है। हालांकि, जब कोई अधिसूचना होती है तो पिछली अधिसूचना अपना टेक्स्ट खो देती है। क्या कोई इस मुद्दे को हल करने में मदद कर सकता है? यह कुछ ऐसा हो सकता है जिसे मैं गलत तरीके से सेट कर रहा हूं, मैं एंड्रॉइड एपिस में नया हूं।अधिसूचना कॉम्पेट। बिगटेक्स्ट स्टाइल सामग्री नई अधिसूचना

उत्तर

11

एंड्रॉइड केवल डिफ़ॉल्ट रूप से एक विस्तारित अधिसूचना प्रदर्शित करता है। आपकी अधिसूचना इसकी सामग्री खो नहीं पाती है, यह सिर्फ संपीड़ित हो जाती है और केवल सामान्य एक-पंक्ति सामग्री दिखाती है। लेकिन ऐसा लगता है कि आप इसे निर्दिष्ट नहीं करते हैं, इसलिए संपीड़ित अधिसूचना खाली है।

आप एक पंक्ति ग्रंथों को सेट करने के लिए setContentTitle() और setContentText() का उपयोग कर सकते हैं।

+0

क्या इस व्यवहार को दबाने और हमेशा विस्तारित सामग्री दिखाने के लिए वैसे भी है? – Watson

+0

नहीं, मुझे ऐसा नहीं लगता है – Floern

संबंधित मुद्दे