GoSMS प्राथमिकता 2147483647 के लिए निर्धारित किया है, लेकिन है कि (यह सबसे बड़ा पूर्णांक है) "अधिक से अधिक" नहीं है - यह बहुत अधिक है। SYSTEM_HIGH_PRIORITY के लिए एंड्रॉइड प्रलेखन 1000 है (http://developer.android.com/reference/android/content/IntentFilter.html#SYSTEM_HIGH_PRIORITY) और ऐप प्राथमिकता स्तर इसके नीचे होना चाहिए - यह एक सिस्टम ऐप नहीं है।
इससे अप्रत्याशित व्यवहार पैदा होगा। (GoSMS हमेशा अन्य ऐप नोटिफिकेशन को खारिज नहीं करता है - abortBroadcast केवल तब होता है जब वे इसे पहले प्राप्त करते हैं, आमतौर पर इंस्टॉलेशन ऑर्डर पर आधारित होते हैं, लेकिन हमेशा नहीं।) सिस्टम स्तरीय ऐप्स निष्पादित होंगे, फिर एंड्रॉइड गैर-सिस्टम ऐप्स को सॉर्ट करने का प्रयास करेगा। यदि आप स्रोत कोड देखते हैं, निष्पादन का क्रम प्राथमिकता स्तर पर आधारित है, लेकिन ऐप्स के क्रम का चयन करने के लिए कॉल 999 से अधिक ऐप्स या समान प्राथमिकता वाले ऐप्स वाले ऐप्स के लिए संगत नहीं है। यह स्थापना के क्रम में हो सकता है, लेकिन सिस्टम में परिवर्तन निष्पादन के अन्य आदेशों के परिणामस्वरूप हो सकता है (जिसे मैंने परीक्षण के साथ कई बार देखा है)।
यह वास्तव में GoSMS (और गलत यह है कि कई अन्य एप्लिकेशन) द्वारा तय किया जाना चाहिए। सिर्फ इसलिए कि "प्राथमिकता" एक पूर्णांक है, इसका मतलब यह नहीं है कि पूर्णांक का उच्चतम मूल्य सर्वोच्च प्राथमिकता स्तर के लिए बनाता है। (बस एक वेब यूआरएल की तरह एक स्ट्रिंग है, लेकिन सभी स्ट्रिंग मान वैध नहीं हैं।) इसके अलावा, गोएसएमएस को पता होना चाहिए कि अन्य ऐप्स ऐसे एसएमएस संदेशों को संसाधित करना चाहते हैं जो उपयोगकर्ता को दिखाई नहीं दे रहे हैं। यदि वे इसे कैप्चर करते हैं और इसे उपयोगकर्ता को प्रदर्शित करते हैं, तो वह व्यर्थ है।
मुझे लगता है कि वे कुछ मजेदार कर रहे हैं। गो एसएमएस में आप सुविधा को अक्षम कर सकते हैं। अक्षम होने पर शडी अपनी अधिसूचना भेजता है, और फिर एसएमएस एसएमएस भेजता है। इसलिए फीचर अक्षम होने के साथ पहले छाया ने पहले आने वाले एसएमएस प्रसारित करने का जवाब दिया, जिसमें कहा गया कि गो एसएमएस को प्रसारण को पहले प्राप्त नहीं किया जा रहा है, इसके बदले शैडी को इसे देखने के बदले में निरस्त नहीं किया जा सकता है। –
मैंने 2147483647 को प्राथमिकता की सेटिंग्स की कोशिश की और रिसीवर में अपने धागे को आग लगाने के बाद प्रसारण को रद्द कर दिया। जाओ एसएमएस अभी भी मेरे रिसीवर को छोड़ देता है। प्राथमिकता एक int लेती है और यहां तक कि अधिकतम मानों के साथ भी यह अभी भी ओवरराइड है। –
@ नोहा सीडमैन: क्या आपने एक हस्ताक्षरित int की कोशिश की है? – CommonsWare