2013-02-19 30 views
8

का उपयोग नहीं करता है, मैं एक अधिसूचना का उपयोग करने की कोशिश कर रहा हूं जो मेरे एस 3 पर अधिसूचना एलईडी का भी उपयोग करता है, लेकिन किसी कारण से रंग हमेशा नीला होगा (मुझे लगता है कि यह डिफ़ॉल्ट है?)। मैंने अलग-अलग रंगों का उपयोग करने की कोशिश की लेकिन कुछ भी नहीं बदला। अन्य ऐप्स (जैसे व्हाट्सएप, जीमेल और फेसबुक में एक अलग रंगीन प्रकाश दिखाने में कोई समस्या नहीं है)।एंड्रॉइड अधिसूचना एलईडी मेरे रंग

Notification.Builder noteBuilder = new Notification.Builder(context) 
       .setAutoCancel(true) 
       .setPriority(Notification.PRIORITY_DEFAULT) 
       .setSmallIcon(R.drawable.ic_launcher) 
       .setContentTitle(ContentTitle) 
       .setContentText(ContentText) 
       .setLights(Color.YELLOW, 500, 500) 
       ; 

Intent noteIntent = new Intent(context,HoofdScherm.class); 
PendingIntent notePendingIntent = PendingIntent.getActivity(context, 0, noteIntent, PendingIntent.FLAG_CANCEL_CURRENT); 
noteBuilder.setContentIntent(notePendingIntent); 

Notification note = noteBuilder.build(); 
note.ledARGB = Color.YELLOW; 
NotificationManager mgr = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); 
mgr.notify(0,note); 
+0

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

+0

यदि आप प्राथमिकता सेट नहीं करते हैं तो कोई भी बदलाव? साथ ही, चूंकि आप निर्माण के बाद अधिसूचना बदल रहे हैं, आपको वहां एलईडी लाइट बनाने के लिए सभी चरणों को जोड़ना चाहिए, यहां तक ​​कि 'अधिसूचना .ledARGB = 0xff00ff00; अधिसूचना.ledऑनएमएस = 300; अधिसूचना.ledऑफएमएस = 1000; अधिसूचना.फ्लैग | = अधिसूचना। FLAG_SHOW_LIGHTS; ' –

+0

मैंने प्राथमिकता को बदलने की कोशिश की (मैंने DEFAULT, HIGH और I alzo का उपयोग करने की कोशिश नहीं की)। इससे कोई फर्क नहीं पड़ता। इसके बाद मैं एक अलग आइकन का उपयोग करने की कोशिश करूंगा, लेकिन मुझे नहीं लगता कि इससे कोई फर्क पड़ेगा क्योंकि लाइट मैनेजर जैसे ऐप्स मेरे एस 3 पर अधिसूचना रंग सेट कर सकते हैं। –

उत्तर

11

आप सुनिश्चित करें कि सभी चूक बनाने की जरूरत है स्थापित करने

notification.defaults = 0;

+0

यह मेरे लिए काम नहीं करता प्रतीत होता है। आप डिफ़ॉल्ट को 0 पर कहां सेट कर रहे हैं? 'अधिसूचना नोट = नोटबिल्डर.बिल्ड();' लेकिन 'note.ledARGB = color.YELLOW;' से पहले? मेरे पास मेरी प्राथमिकता अधिकतम है और मैं एक नेक्सस पर परीक्षण कर रहा हूं 5. – toobsco42

+0

तो मुझे पता चला कि मेरी समस्या यह है कि मेरा डिवाइस नींद मोड में नहीं था। आपको यह सुनिश्चित करना होगा कि नोटिफिकेशन ट्रे पहले ही नहीं खींचा गया है (यानी उपयोगकर्ता ने अधिसूचना नहीं देखी है)। एलईडी केवल इस मामले में फ्लैश होगा। http://stackoverflow.com/questions/3297835/how-can-i-enable-vibration-and-lights-using-the-android-notifications-api – toobsco42

-1

नीचे स्रोत पर एक नज़र द्वारा ओवरराइड कर रहे हैं। एस 3:

NotificationCompat.Builder mBuilder = 
       new NotificationCompat.Builder(ctx) 
         .setPriority(Notification.PRIORITY_HIGH) 
         .setSmallIcon(getNotificationIcon()) 
         .setColor(0xff493C7C) 
         .setContentTitle(ctx.getString(R.string.app_name)) 
         .setContentText(msg) 
         .setDefaults(Notification.DEFAULT_SOUND) 
         .setLights(0xff493C7C, 1000, 1000) 
         .setStyle(new NotificationCompat.BigTextStyle().bigText(styledMsg));