2013-01-14 14 views
8

मैं एक टोस्ट कि निम्नलिखित तरीके से दिखाया जाता है:टोस्ट सैमसंग गैलेक्सी एस 3 (नवीनतम अद्यतन 4.1.2) पर नहीं दिखाया जाता

Toast.makeText(context, "The message", Toast.LENGTH_LONG).show(); 

मैं बिल्कुल कुछ मैं यूआई धागे से टोस्ट प्रदर्शित रहा हूं , और मैं जोड़ सकता हूं कि गैलेक्सी एस 3 के पुराने अपडेट सहित कई उपकरणों के लिए यह ठीक काम करता है, लेकिन नवीनतम अपडेट के बाद मेरे किसी भी टोस्ट को प्रदर्शित नहीं किया जा रहा है।

क्या किसी और ने इसका अनुभव किया है और इसका समाधान है?

+2

इस कोड को वास्तव में बुलाया जा रहा है क्या आप वाकई रहे हैं? क्या कुछ और बदल गया है जो इसे प्रभावित कर सकता है? –

+0

शायद आपको अपना पूरा कोड दिखाना चाहिए .. –

उत्तर

10

नए एंड्रॉइड फोन में ऐप सेटिंग्स में "अधिसूचनाएं दिखाएं" चेकबॉक्स है और किसी कारण से नोटिफिकेशन अक्षम होने पर यह टोस्ट को अक्षम करता है। यहां मुद्दा यह सूचना दी गई है:

http://code.google.com/p/android/issues/detail?id=35013

लेकिन स्रोत कोड पर देख:

https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/services/java/com/android/server/NotificationManagerService.java

ऐसा लगता है जैसे कि यह जानबूझकर हो सकता है:

लाइन 114:

private static final boolean ENABLE_BLOCKED_TOASTS = true; 

लाइन्स 693-707:

final boolean isSystemToast = ("android".equals(pkg)); 
if (ENABLE_BLOCKED_TOASTS && !isSystemToast && !areNotificationsEnabledForPackageInt(pkg))  { 
    Slog.e(TAG, "Suppressing toast from package " + pkg + " by user request."); 
    return; 
} 

लाइन 114:

private static final boolean ENABLE_BLOCKED_TOASTS = true; 
5

चूंकि ओपी पिछले 24 घंटों में आसपास नहीं रहा है, इसलिए मैंपर thread पर पाया गया समाधान पोस्ट करूंगा।

समस्या यह थी कि इस ऐप के लिए Show Notifications का विकल्प सेटिंग में अनचेक किया गया था (यह एंड्रॉइड के नए संस्करणों में संभव है)। यह न केवल अधिसूचना बार में अधिसूचनाओं को दिखाता है, बल्कि टोस्टों के प्रदर्शन को रोकता है।

इसके लिए एक बग here खोला गया है।

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