2015-07-28 4 views
5

मैं एक एंड्रॉइड एप्लिकेशन पर काम कर रहा हूं जो पास के पीसी के साथ संवाद करने के लिए ब्लूटूथ का उपयोग करता है। ऐप मेरे अपने डिवाइस पर बहुत अधिक काम करता है (सैमसंग गैलेक्सी नोट 3 - सीएम 12.1) लेकिन मेरे बीटा टेस्टर्स पर यह नहीं है।एंटीवायरस मेरे आवेदन को मारता है

सीधे शब्दों में कहें ऐप्लिकेशन लोगों को ब्लूटूथ & उनके फोन के माध्यम से लिख सकते हैं और (मेरी सी # WPF अनुप्रयोग के साथ) उनके पीसी से एसएमएस प्राप्त करने की अनुमति देता है।

मेरे बीटा परीक्षक एक Samsung Galaxy Note 4 शेयर ROM (लॉलीपॉप) उपयोग कर रहा है।

पहले मैंने सोचा था कि जब उनकी स्क्रीन बंद हो जाती है, तो एंड्रॉइड मुख्य एक्टिविटी को मार देगा जो कुछ धागे पर रखता है जिसमें कनेक्शन को बनाए रखने वाले एक को भी शामिल किया जाता है (inpustream.read() अवरोधन विधि के साथ)। ऐसा व्यवहार मेरे डिवाइस पर नहीं होता है: मैं अपने फोन को प्लग किए बिना पूरी रात के लिए कनेक्शन को जीवित रख सकता हूं।

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

जैसा कि मेरा शीर्षक बताता है, समस्या उनके एंटीवायरस के साथ निहित है और अधिक सटीक: AVG। मुझे इस बारे में कोई जानकारी नहीं है कि एंड्रॉइड पर एंटीवायरस कैसे काम करता है और मैं भी इसका उपयोग नहीं करता हूं। टाइटेनियम बैकअप के साथ एवीजी को अपने मूल गैलेक्सी नोट 4 पर ठंडा करके, मेरा ऐप क्रैश हो रहा है और अब इरादे से पूरी तरह से अच्छी तरह से काम कर रहा है।

तो मुझे आश्चर्य है कि डिवाइस स्क्रीन बंद होने पर एवीजी ने मेरे ऐप को मारने का फैसला कैसे किया? मेरा ऐप कैसे व्यवहार करेगा ताकि यह एवीजी या किसी अन्य एंटीवायरस का उपयोग कर किसी भी अन्य उपयोगकर्ताओं के साथ न हो? मुझे क्या करना चाहिए ताकि मेरा ऐप संदिग्ध न हो?

उत्तर

0

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

यह स्पष्ट करने का प्रयास करें कि एवीजी ने आपके ऐप पर क्या वास्तविक बिंदु क्या है। और फिर अपनी समस्याओं को सभ्य और स्मार्ट के साथ हल करने का प्रयास करें।

उदाहरण के लिए:

औसत 1. यदि नहीं करता आप BluetoothAdapter.enable (का उपयोग करें) ब्लूटूथ चालू करने के लिए मजबूर करने, Activity.startActivityForResult() का उपयोग करने के लिए उपयोगकर्ताओं है कि क्या बारी चयन करने के लिए जाने के लिए कोशिश ब्लेतुथ पर या नहीं।

2. अगर एवीजी आपको एंड्रॉइड डिवाइस सोते समय ब्लूटूथ का उपयोग नहीं करने देता है। आप एंड्रॉइड डिवाइस को पकड़ने के लिए WakeLock.acquire() का उपयोग करने का प्रयास कर सकते हैं।

3. अगर एवीजी आपको एसएमएस भेजने या प्राप्त करने का उपयोग नहीं करने देता है। आप एक और संचार प्रोटोकॉल, एसपीपी या बीएलई या कुछ और बदल सकते हैं।

शायद आपने ज़ियामी सुना है।यदि आप चीन में एंड्रॉइड डेवलपर हैं, क्योंकि ज़ियामी चीन में बहुत लोकप्रिय है, तो आपको ज़ियामी के साथ अनुकूलन से निपटना होगा, और फिर आप पाएंगे कि ज़ियामी चीन में एंड्रॉइड डेवलपर्स के लिए वास्तव में कमबख्त है।

Xiaomi मूल Android.For उदाहरण के लिए नहीं वास्तव में कुछ आश्चर्यजनक कार्य:

1. AlertDialog..getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); आप कुछ Xiaomi रोम है कि वे आप कुछ नहीं बता पर TYPE_SYSTEM_ALERT संवाद सचेत नहीं कर सकते।

2.Xiaomi ने कई मूल विषयों को संशोधित किया है।

3. एक्सियामी ने एंड्रॉइड अलार्म टाइमिंग तंत्र को बदल दिया है, जबकि डिवाइस नींद है जिसे वेक-अप-संरेखण कहा जाता है। यह समय के कार्य के साथ ऐप्स के लिए वास्तव में भयानक है।

उपर्युक्त समस्याएं हैं कि मैं एंड्रॉइड विकास में मिला, कुछ समस्याएं मैं इसे हल कर सकता हूं, कुछ आपके पास इसे बदलने की कोई संभावना नहीं है।

याद रखें कि: एंड्रॉइड डिवाइसों के साथ अनुकूलन यह है कि आपको अपने उपयोगकर्ताओं को यह पता होना चाहिए कि आप सबसे लोकप्रिय एंड्रॉइड डिवाइस पर ऐप काम करते हैं, डेवलपर ऐप को अधिकांश एंड्रॉइड डिवाइस पर चलाने की कोशिश करते हैं, लेकिन शायद यह काम नहीं करेगा कुछ एंड्रॉइड अनुकूलित रोम के साथ या कुछ विशेष तीसरे भाग ऐप्स के साथ devivces। यह है, यह सच है, यह एंड्रॉइड है।

यदि समस्या हल नहीं की जा सकती है, तो यह कोई समस्या नहीं है!

+0

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

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