2009-09-14 23 views
12

दो प्रश्न:एंड्रॉइड - ब्लूटूथ को हमेशा चालू करने में सक्षम कैसे करें? एंड्रॉयड पर ब्लूटूथ विकास पर

  1. वहाँ ब्लूटूथ हमेशा पर होना करने के लिए सक्षम करने के लिए एक रास्ता है एंड्रॉयड में (मैं अपने आवेदन में एक लंबा डिवाइस खोज चरण हो सकता है)? जहां तक ​​मैं डिफ़ॉल्ट मान देख सकता हूं वह 120 से नीचे गिना जाता है।

  2. क्या यह कोई ओपन सोर्स ब्लूटूथ एपीआई कार्यान्वयन मौजूद है?

उत्तर

9

ब्लूटूथ कार्यान्वयन अब एंड्रॉइड 2.0 एपीआई में उपलब्ध है। this और this देखें।

+0

हां, मैंने खबर भी देखी।अंत में उपलब्ध :) –

+0

ब्लूटूथ एसडीके में उपलब्ध है लेकिन एवीडी 2.0 एपीआई (स्तर 5) का समर्थन नहीं करता है या दस्तावेज़ अद्यतित नहीं है: http://developer.android.com/guide/developing/ टूल्स/avd.html –

+1

ओवरव्यू लिंक अन्य दो लिंक की तुलना में बेहतर प्रारंभिक स्थान हो सकता है: http://developer.android.com/intl/zh-CN/guide/topics/wireless/bluetooth.html – RickNotFred

2

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

तीसरे पक्ष के ब्लूटूथ एपीआई के लिए, केवल एक चीज जिसे मैंने सुना है iAnywhere Blue SDK (साइबेस से, मुफ़्त नहीं, केवल मूल्यांकन संस्करण उपलब्ध है), जिसमें कुछ विशेषताओं को शामिल किया गया है, जो भविष्य में समर्थित होंगे सिस्टम/ब्लूटूथ और ब्लूज़ पैकेज से।

एंड्रॉइड के Bluetooth roadmap के मुताबिक, जावा एपीआई, ब्लूटूथ 2.1 + ईडीआर जैसी अधिकांश प्रतीक्षा चीजें भविष्य में एक बिंदु पर लागू की जाएंगी।

आपकी परियोजना के साथ शुभकामनाएँ।

+0

अपनी बैटरी सलाह के लिए धन्यवाद, लेकिन परियोजना मैं करता हूँ में इस स्तर पर बैटरी के बारे में परवाह नहीं, केवल निरंतर ब्लूटूथ के बारे में :) –

1

लिनक्स पर Bluez स्टैक एक ओपन सोर्स कार्यान्वयन है। यह विंडोज पर भी उपलब्ध है लेकिन एपीआई लिनक्स पर बहुत अधिक है।

जब आप कहते हैं, 'हमेशा ब्लूटूथ सक्षम होना' पर आपका मतलब है, हमेशा अन्य उपकरणों को खोजने की कोशिश कर रहे हैं?

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

हाँ, यह ब्लूटूथ पूरी तरह बंद होने की तुलना में अधिक बैटरी पावर का उपयोग करता है लेकिन यह कुल पिशाच नहीं है।

+0

हां, हमेशा के साथ मेरा मतलब निरंतर ग्राहक खोज है। एंड्रॉइड के साथ "समस्या" डिफ़ॉल्ट 120s उलटी गिनती है। क्या यह परिवर्तनीय है? चलो 600 के कहते हैं? –

0

BlueCove जावा के लिए एक ओपन-सोर्स ब्लूटूथ कार्यान्वयन है।

यह कई अलग-अलग मशीनों पर काम करता है और यदि सही है तो एंड्रॉइड संगत संस्करण कहीं और छिप रहा है।

1
private void ensureDiscoverable() { 
    if(D) Log.d(TAG, "ensure discoverable"); 
    if (mBluetoothAdapter.getScanMode() != 
     BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE) { 
     Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); 
     discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300); 
     startActivity(discoverableIntent); 
    } 

http://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html#ACTION_REQUEST_DISCOVERABLE

+0

यह है हमेशा नहीं (या मूल पूछताछ के रूप में खोजने योग्य), यह उपयोगकर्ता की पुष्टि को संकेत देता है। – Tiago

+1

हम एंड्रॉइड में हमेशा दिखाई देने के लिए डिवाइस नहीं बना सकते हैं, लेकिन हम इसका समय 120 से 300 तक बढ़ा सकते हैं। –

2

2.3.6 पर मैं देरी 0 डालकर दिखाई हमेशा डिवाइस रख सकते हैं:

Intent di = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); 
di.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0); 
संबंधित मुद्दे