2011-07-06 8 views
7

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

जब जाओ एसएमएस में इस नई सुविधा सक्षम होती है, छायादार एक सूचना न भेजें या संदेश अंत में आने वाले एसएमएस प्रसारण का जवाब बिल्कुल नहीं बचा है।

जाओ एसएमएस किसी भी तरह अपने आवेदन के प्रसारण रिसीवर पंजीकरण रद्द होना चाहिए, क्योंकि आने वाले एसएमएस प्रसारण निरस्त नहीं किया जा सकता। मेरा इरादा फ़िल्टर एंड्रॉइड पर सेट है: प्राथमिकता = "0"।

किसी भी विचार?

उत्तर

11

मेरा इरादा फ़िल्टर एंड्रॉइड पर सेट है: प्राथमिकता = "0"।

यह न्यूनतम संभव प्राथमिकता है। आपके आने से पहले अन्य सभी अनुप्रयोगों को पहले मौका मिलेगा। documentation का उद्धरण:

यह उस प्रसारण को नियंत्रित करता है जिसमें प्रसारण संदेश प्राप्त करने के लिए प्रसारण रिसीवर निष्पादित किए जाते हैं। उच्च प्राथमिकता वाले मूल्य वाले लोगों को कम मूल्य वाले लोगों के सामने बुलाया जाता है। (आदेश केवल तुल्यकालिक संदेशों पर लागू होता है, यह अतुल्यकालिक संदेश के लिए नजरअंदाज कर दिया है।)

तो, वे बस abortBroadcast() बुला रहे हैं। वे शायद अपनी प्राथमिकता छत पर जैक किया है।

+0

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

+0

मैंने 2147483647 को प्राथमिकता की सेटिंग्स की कोशिश की और रिसीवर में अपने धागे को आग लगाने के बाद प्रसारण को रद्द कर दिया। जाओ एसएमएस अभी भी मेरे रिसीवर को छोड़ देता है। प्राथमिकता एक int लेती है और यहां तक ​​कि अधिकतम मानों के साथ भी यह अभी भी ओवरराइड है। –

+0

@ नोहा सीडमैन: क्या आपने एक हस्ताक्षरित int की कोशिश की है? – CommonsWare

0

जाओ एसएमएस प्रो की प्राथमिकता अधिक से अधिक 2147483647 (2^31-1) है। आप यह मान भी सेट कर सकते हैं। यदि प्राथमिकताएं एक ही एंड्रॉइड ओएस "पुरानी" ऐप की सेवा करेगी, जिसे आपने पहले इंस्टॉल किया था। मैं अपने अनुभव से यह कहता हूं कि इस मामले पर Google का कहना नहीं है।

+0

मैं पुष्टि कर सकता हूं कि सबसे पुराना ऐप-जीत का यह सिद्धांत सत्य नहीं है। न तो नवीनतम ऐप-जीत है। शायद इसका पैकेज नाम। इच्छा है कि Google बताएगा। – PVS

+0

मैं जांचता हूं कि पैकेज नाम इरादे को प्राप्त करने के लिए ऐप को प्राथमिकता नहीं देता है –

20

GoSMS प्राथमिकता 2147483647 के लिए निर्धारित किया है, लेकिन है कि (यह सबसे बड़ा पूर्णांक है) "अधिक से अधिक" नहीं है - यह बहुत अधिक है। SYSTEM_HIGH_PRIORITY के लिए एंड्रॉइड प्रलेखन 1000 है (http://developer.android.com/reference/android/content/IntentFilter.html#SYSTEM_HIGH_PRIORITY) और ऐप प्राथमिकता स्तर इसके नीचे होना चाहिए - यह एक सिस्टम ऐप नहीं है।

इससे अप्रत्याशित व्यवहार पैदा होगा। (GoSMS हमेशा अन्य ऐप नोटिफिकेशन को खारिज नहीं करता है - abortBroadcast केवल तब होता है जब वे इसे पहले प्राप्त करते हैं, आमतौर पर इंस्टॉलेशन ऑर्डर पर आधारित होते हैं, लेकिन हमेशा नहीं।) सिस्टम स्तरीय ऐप्स निष्पादित होंगे, फिर एंड्रॉइड गैर-सिस्टम ऐप्स को सॉर्ट करने का प्रयास करेगा। यदि आप स्रोत कोड देखते हैं, निष्पादन का क्रम प्राथमिकता स्तर पर आधारित है, लेकिन ऐप्स के क्रम का चयन करने के लिए कॉल 999 से अधिक ऐप्स या समान प्राथमिकता वाले ऐप्स वाले ऐप्स के लिए संगत नहीं है। यह स्थापना के क्रम में हो सकता है, लेकिन सिस्टम में परिवर्तन निष्पादन के अन्य आदेशों के परिणामस्वरूप हो सकता है (जिसे मैंने परीक्षण के साथ कई बार देखा है)।

यह वास्तव में GoSMS (और गलत यह है कि कई अन्य एप्लिकेशन) द्वारा तय किया जाना चाहिए। सिर्फ इसलिए कि "प्राथमिकता" एक पूर्णांक है, इसका मतलब यह नहीं है कि पूर्णांक का उच्चतम मूल्य सर्वोच्च प्राथमिकता स्तर के लिए बनाता है। (बस एक वेब यूआरएल की तरह एक स्ट्रिंग है, लेकिन सभी स्ट्रिंग मान वैध नहीं हैं।) इसके अलावा, गोएसएमएस को पता होना चाहिए कि अन्य ऐप्स ऐसे एसएमएस संदेशों को संसाधित करना चाहते हैं जो उपयोगकर्ता को दिखाई नहीं दे रहे हैं। यदि वे इसे कैप्चर करते हैं और इसे उपयोगकर्ता को प्रदर्शित करते हैं, तो वह व्यर्थ है।

+12

मुझे ऐसा करने के लिए एसएमएस से नफरत है। यह उपयोगकर्ताओं के फोन पर ऐप में सबसे अधिक आक्रामक चीजों में से एक है। उन्हें प्रसारण को पार करने की जरूरत है! –

+2

मुझे लगता है कि प्रसारण को रद्द करना ठीक है, और उनके मामले में उपयोगकर्ता इसे इसके बारे में उचित विकल्प चुनकर चाहते हैं .. अनुचित क्या है कि वे पूर्ण अधिकतम प्राथमिकता का उपयोग कर रहे हैं .. मैंने उन्हें इसके बारे में एक ईमेल भेजा है और मुझे आशा है कि यह जल्द ही ठीक हो जाएगा –

+0

@ जिम गो एसएमएस पता होना चाहिए, लेकिन यह –

2

डाउनलोड apktool http://code.google.com/p/android-apktool/

डाउनलोड स्वत: हस्ताक्षर फ़ोल्डर में डेव दा illest तक 1 http://www.mediafire.com/?j9n7o6ub9urkfwy

बनाया apktool और NICEBUTWRONGLYWRITTEN.APK रन cmd में cmd ​​ apktool घ -d NICEBUTWRONGLYWRITTEN निकाला है। एपीके modif1 प्रतीक्षा dir modif1 में पहली बार दिखाई देने वाली एक्सएमएल फ़ाइल ढूंढें, इस मान के अंदर खोजें V = 2147483647 (संख्या 21474 की खोज करें 83647) इसे 1 बंद फ़ाइल की बचत के साथ प्रतिस्थापित करें। cmd विंडो में रन ख -d modif1/newsmsapp.apk apktool पूरा निर्माण तक इंतजार

newsmsapp.apk signapk साथ निर्देशिका में builded लेने, उसे वहां चिपकाएं रन cmd सीडी signapk प्रकार के साथ निर्देशिका के लिए: संकेत newsmsapp.apk

अपने फोन को newsmsapp.apk

किया पर स्थापित करें।

+0

पर प्राथमिकता सॉर्ट ऑर्डर जोड़ें, मैंने आपके निर्देशों का पालन किया, एपीके को पुनर्निर्मित किया गया और कोई त्रुटि नहीं मिली, लेकिन जब मैं इसे इंस्टॉल करने गया, तो मुझे एप्लिकेशन को त्रुटि स्थापित नहीं हुई .... इसके अलावा एक और प्रश्न, 3 हैं मैनिफेस्ट xml फ़ाइल में उस मान के उदाहरण, क्या मैं उन सभी को 1 या केवल पहले में बदल सकता हूं? समस्या को स्थापित न करने का मानना ​​हल किया जा सकता है ... इस –

3

मुझे लगता है कि हम उस के लिए एक ठीक किया था और यह काम किया :) हम कोड

IntentFilter filter = new IntentFilter(); 
    filter.addAction("android.provider.Telephony.SMS_RECEIVED"); 
    filter.setPriority(2147483647); 
    receiver = new SmsAnalizer(); 
    ac.registerReceiver(receiver, filter); 

यह काम के माध्यम से प्रसारण रिसीवर शुरू करने और हम काम करवाने के।

+0

पर किसी भी मदद की सराहना करें यह मेरे लिए काम नहीं करता है –

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