2010-05-18 16 views
13

के लिए कोई आइकन नहीं मैं स्टेटस बार में आइकन के बिना एक अधिसूचना बनाना चाहता था (राज्य जो विस्तारित नहीं है)। मैंने कस्टम विस्तारित दृश्य का प्रयास किया और केवल इस दृश्य के लिए आइकन सेट किया। लेकिन यह काम नहीं आया। जब मैं कन्स्ट्रक्टर को आइकन के रूप में 0 देता हूं, तो आइकन गायब हो जाता है लेकिन अधिसूचना विस्तारित दृश्य में भी प्रकट नहीं होती है।एंड्रॉइड: अधिसूचना

अधिसूचना अधिसूचना = नई अधिसूचना (0, "", 0);

मैंने कई संयोजनों की कोशिश की लेकिन समाधान के साथ बाहर नहीं आया। वैसे, मुझे पता है कि यह काम कर रहा है क्योंकि मैंने कुछ फीचर्स में यह सुविधा देखी है। धन्यवाद।

+0

यदि आप एक खाली अधिसूचना बार दिखाते हैं, तो उपयोगकर्ता इसका विस्तार क्यों करेगा? –

+0

उपयोगकर्ता हमेशा यह जानता होगा कि यह सेवा करने के लिए है लेकिन आइकन द्वारा परेशान नहीं किया जाएगा। –

उत्तर

6

त्वरित सेटिंग ऐसा किया है कि वहाँ और के रूप में मुझे लगता है कि कोड मैंने देखा को देखा उसके दाईं ओर स्थित अधिसूचना के डिफ़ॉल्ट निर्माता का उपयोग करता है और उसका आइकन धक्का अधिसूचना बार। मुझे लगता है कि यह अभी भी अंतरिक्ष का उपयोग करता है लेकिन इसमें कोई आइकन नहीं है।

कुछ कोड:

notification = new Notification(); 
notification.flags |= Notification.FLAG_ONGOING_EVENT; 
notification.flags |= Notification.FLAG_NO_CLEAR; 
long hiddenTime = Constants.SDK_VERSION >= 9 ? -Long.MAX_VALUE : Long.MAX_VALUE; 
notification.when = visible ? System.currentTimeMillis() : hiddenTime; // align 
// left (0)/right (max) in status bar 

संपादित करें: ओह खेद मैं कोड का एक महत्वपूर्ण लाइन है, वास्तव में वह एक प्लेसहोल्डर का उपयोग करता है याद किया। लेकिन अब आप कुछ कोड ;-)

notification.icon = visible ? (status == Constants.STATUS_BLACK_ICON ? 
          R.drawable.ic_logo_black : R.drawable.ic_logo_white) 
          : R.drawable.ic_placeholder; 

http://code.google.com/p/quick-settings/source/browse/trunk/quick-settings/src/com/bwx/bequick/receivers/StatusBarIntegrationReceiver.java

+0

वास्तव में एक स्मार्ट हैक। धन्यवाद :) –

+0

धन्यवाद यह इंगित करने के लिए बहुत कुछ! – Anton

+0

@ludwigm, क्विकसेटिंग कोड अब उपलब्ध नहीं है, क्या आप समाधान के बारे में थोड़ा और विस्तार कर सकते हैं। मैं पूरी तरह से समझ नहीं पाया कि चीजें वास्तव में कैसे काम करती हैं। –

0

आप एक पारदर्शी छवियों को अधिसूचना आइकन के रूप में उपयोग कर सकते हैं। लेकिन जैसा कि पहले ही उल्लेख किया molnarm, उपयोगकर्ता को सूचित नहीं करेगी एक नई अधिसूचना

+0

यह संभव नहीं है, भले ही आपने 1 पिक्सेल आयाम में आइकन दिया हो। यह भंडार करता है कि यह क्या होना चाहिए और इसे सफेद दिखाता है। –

+0

फिर एक काला छवि का उपयोग करें? –

+0

मैं बस वहां एक क्षेत्र आरक्षित नहीं करना चाहता हूं। यह काला, सफेद या पारदर्शी कोई फर्क नहीं पड़ता। –

0

यहाँ के साथ प्रयोग करने कुछ है। आइकन = 0 के साथ एक बार और एक बार वास्तविक आइकन के साथ एक बार दो बार एक अधिसूचना दें। इसे एक क्रम में और फिर विपरीत क्रम में आज़माएं।

मुझे स्टेटस बार में कोई अधिसूचना नहीं मिली और विस्तारित सूची में अधिसूचना का प्रभाव मिला जब मैंने ऐसा कुछ किया, सिवाय इसके कि दो में से एक (आइकन = 0 वाला एक) सेवा द्वारा शुरू किया गया था। StartForeground()। मेरे पास अभी और अधिक प्रयोग करने का समय नहीं है।

26

अब यह एंड्रॉइड 4.1 में संभव है; जेली बीन स्टेटस बार का संदर्भ कार्यान्वयन PRIORITY_MIN अधिसूचनाओं के लिए आइकन दबाएगा, हालांकि उनकी सामग्री अभी भी अधिसूचना पैनल में दिखाई देगी।

+0

सर्वोत्तम संभव समाधान, संकेत के लिए धन्यवाद! –

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