मैं जिस एंड्रॉइड एप्लिकेशन को डिज़ाइन कर रहा हूं, उसमें मेरी सेवा केवल तब चलने की आवश्यकता है जब डिवाइस राउटर से कनेक्ट हो (स्पष्ट रूप से वाईफ़ाई के माध्यम से)। मैं एंड्रॉइड के लिए वास्तव में नया हूं, और अब तक जो कुछ भी मिला है, उसने मुझे हमेशा के लिए हासिल किया है, इसलिए मैं वास्तव में कुछ पॉइंटर्स की उम्मीद कर रहा हूं।एंड्रॉइड: वाईफाई राज्य के आधार पर सेवा रोकें/प्रारंभ करें?
फोन शुरू होने पर मेरी सेवा शुरू होने के लिए सेट है। साथ ही जब गतिविधि लॉन्च की जाती है तो यह जांचता है कि सेवा चल रही है या नहीं - और यदि यह नहीं शुरू होता है। मैं सोच रहा हूं कि वाईफाई राज्य खो जाने पर इसे बंद करने के लिए मैं अपनी सेवा में कौन सा कोड डाल सकता हूं - और वाईफाई कनेक्शन सक्रिय होने के बाद सेवा शुरू करने के लिए मुझे कौन सा कोड शुरू करना है?
धन्यवाद! :)
धन्यवाद! यह मेरे समाधान का आधार था। नेटवॉचर वर्ग बिल्कुल वही था जो मुझे चाहिए - लेकिन यह समाधान सत्य रिपोर्ट करता है यदि मोबाइल डेटा कनेक्शन चालू है (सेवा केवल वाईफाई सक्रिय होने पर ही चलने की आवश्यकता है, मोबाइल डेटा नहीं)। समाधान: WifiManager wifiManager = (WifiManager) this.getSystemService (Context.WIFI_SERVICE); अगर (वाईफाई प्रबंधक।isWifiEnabled()) { // प्रारंभ सेवा } अन्य { // रोक सेवा } –
यह 'इरादा इरादा = नया इरादा (संदर्भ, MyService.class) होना चाहिए;' इस 'को इरादे के लिए तर्क के रूप में उपयोग करना चाहिए कन्स्ट्रक्टर 'ब्रॉडकास्ट रिसीवर' के अंदर मान्य नहीं है। इसके अलावा यह 'context.startService (इरादा) होना चाहिए। क्लीनअप सुझावों के लिए – faizal
@faizal धन्यवाद। मैंने इस पोस्ट को शामिल करने के लिए संपादित किया है। – Phil