त्रिज्या नेटवर्क Android iBeacon Library बिल्कुल यही करता है। पृष्ठभूमि में इसे चलाने के लिए आपको बस इतना करना है कि लंबे जीवन चक्र वाले IBeaconManager
को बांधें। यह एक कस्टम android.app.Application
ऑब्जेक्ट, या स्वयं की एक सेवा हो सकती है। चूंकि आपने अपने ऐप के लिए अपनी सेवा पहले से ही लिखी है, इसलिए आप आसानी से IBeaconManager
उस सेवा में बाध्य कर सकते हैं, और जब तक सेवा चलती है तब तक यह पृष्ठभूमि में सक्रिय रहेगी। यदि आप चाहें तो प्रसारण उद्देश्यों को भेजने के लिए आप अपनी सेवा का उपयोग भी कर सकते हैं, लेकिन अधिकांश उपयोग मामलों के लिए यह संभवतः आवश्यक नहीं है।
बैटरी उपयोग के लिए, लाइब्रेरी के reference application में लाइब्रेरी पर पृष्ठभूमि मोड को सेट करने का एक उदाहरण है, इसलिए बैटरी को बचाने से स्कैन कम होता है। कि संदर्भ अनुप्रयोग में उचित कोड यहाँ है:
@Override
protected void onPause() {
super.onPause();
if (iBeaconManager.isBound(this)) iBeaconManager.setBackgroundMode(this, true);
}
@Override
protected void onResume() {
super.onResume();
if (iBeaconManager.isBound(this)) iBeaconManager.setBackgroundMode(this, false);
}
सच करने के लिए पृष्ठभूमि मोड सेट करना ब्लूटूथ केवल एक बार बहुत 5 मिनट होने के लिए स्कैन करता है कम कर देता है - क्या आईओएस करता है करने के लिए कुछ इसी तरह। नेक्सस 4 पर परीक्षणों के आधार पर, यह फोन की कुल बैटरी खपत 95 एमए से 55 एमए तक कम कर देता है (दोनों संख्याओं में कुल ऑपरेटिंग सिस्टम नाली शामिल है।)
पूर्ण प्रकटीकरण: मैं त्रिज्या नेटवर्क के लिए काम करता हूं और प्राथमिक लेखक हूं एंड्रॉइड iBeaconLibrary।
हाय डेविड, आपकी टिप्पणियों के लिए कई thx। मेरे विशिष्ट डेमो के लिए मैं अब सेवा और अलार्म के साथ गया, लेकिन मैं पूरी तरह से आपके एपीआई के साथ जाऊंगा। –
मुझे आईबीकॉन क्लास और स्कैनफ्रॉम रिकॉर्ड विधि बहुत उपयोगी थी। एक बात जिसे मैं समझ नहीं पा रहा हूं वह है कि लाइन 216 क्या कर रही है। स्पष्ट रूप से एक अनुमान बीकन का पता चला है, लेकिन फिर यह लगभग "खाली" आईबीकॉन कक्षा वापस कर देगा। क्या यह विरासत कोड है? मुझे अनुमान से आईबीकॉन प्राप्त हुए और यह काम करता है। बीटीडब्ल्यू मुझे संपर्क में रहना अच्छा लगेगा और आपकी कंपनियों के बीकन और सेवकों को भी आजमाएं। हम सीधे कैसे कनेक्ट कर सकते हैं? –
अपने डेमो के बारे में समझा। यह एक ओपन सोर्स प्रोजेक्ट है इसलिए मैं हमेशा इनपुट और सहयोगियों की तलाश में हूं। शायद हम – davidgyoung