मैं जोड़ा गया Bluetooth
डिवाइसों का आकलन कर सकता हूं, और मुझे ऐप स्टार्टअप पर अपने वर्तमान कनेक्शन स्थिति की जांच करनी होगी।Android में ब्लूटूथ डिवाइस की प्रोग्राम स्थिति को प्रोग्रामेटिक रूप से जांचने के लिए कैसे करें?
लेकिन, मुझे कनेक्शन स्थिति प्राप्त करने का कोई तरीका नहीं मिला?
यहाँ कुछ प्रयासों मैं कोशिश की है रहे हैं, लेकिन विफल रहा:
- android.bluetooth.BluetoothDevice
यह रिमोट डिवाइस के बंधन राज्य पाने के लिए विधि है, और के लिए संभावित मान बॉन्ड स्टेटस हैं: BOND_NONE
, BOND_BONDING
, BOND_BONDED
। लेकिन यह कनेक्शन राज्य नहीं है।
- android.bluetooth.BluetoothProfile
विधि कनेक्शन राज्य पाने के लिए इस्तेमाल किया जा सकता है, लेकिन BluetoothProfile
वस्तु पहले प्राप्त किया जाना चाहिए।
public abstract int getConnectionState (BluetoothDevice device);
के रूप में दस्तावेज़ में वर्णन: "ग्राहकों, (संदर्भ, BluetoothProfile.ServiceListener, पूर्णांक) getProfileProxy फोन प्रोफ़ाइल प्रॉक्सी पाने के लिए चाहिए।", यह केवल एक ServiceListener
जब राज्य परिवर्तन कहा जाता में पुनः प्राप्त किया जा सकता है।
क्या होगा अगर मैं किसी भी राज्य परिवर्तन के बिना स्टार्टअप पर राज्य से पूछता हूं?
- android.bluetooth.BluetoothManager
यह एक तरीका प्रदान करता है:
public int getConnectionState (BluetoothDevice device, int profile);
लेकिन यह एक Bluetooth
वक्ता के कनेक्शन राज्य का पता लगाने के लिए नहीं किया जा सकता है, चूंकि प्रोफ़ाइल तर्क केवल GATT
या GATT_SERVER
(कम ऊर्जा डिवाइस के लिए) स्वीकार करता है, अन्य प्रोफाइल (HEADSET
, HEALTH
, A2DP
) समर्थित नहीं हैं।
- android.bluetooth.BluetoothAdapter
यह एक तरीका प्रदान करता है:
public int getProfileConnectionState (int profile);
इस समारोह है कि स्थानीय Bluetooth
एडाप्टर जुड़ा हुआ है की जाँच करने के लिए इस्तेमाल किया जा सकता है किसी विशिष्ट प्रोफ़ाइल के लिए किसी भी दूरस्थ डिवाइस पर। इसका उपयोग एक निर्दिष्ट प्रोफाइल की जांच के लिए किया जा सकता है। लेकिन इसका उपयोग किसी दिए गए डिवाइस की जांच के लिए नहीं किया जा सकता है।
क्या किसी को पता है कि किसी दिए गए Bluetooth
डिवाइस की कनेक्शन स्थिति कैसे प्राप्त करें?
अग्रिम धन्यवाद।
क्या आपको इसके लिए कोई जवाब मिला? –
दो दिनों के लिए इस पर स्ट्रक की बहुत सराहना की जा सकती है। क्या आपको इसके लिए कोई समाधान मिला। अगर कनेक्ट किया गया है तो मैं ब्लूटूथ गैट कनेक्शन स्थिति को देखना चाहता हूं, फिर भी डिस्कनेक्ट किए गए राज्य तक जाने तक प्रतीक्षा करने की आवश्यकता है, लेकिन मैंने getConnectionState() को अपवाद फेंक दिया। – prasanthMurugan