2015-10-28 18 views
13

मैं एंड्रॉइड में ब्लूटूथ डिवाइस में दो राज्यों को देख सकता हूं। 1. जोड़ा गया 2. कनेक्ट किया गया। -
मैं एंड्रॉइड में वर्तमान में जुड़े ब्लूटूथ डिवाइस को प्राप्त करने का प्रयास कर रहा हूं। लेकिन मुझे adapter.getBondedDevices(); से केवल युग्मित डिवाइस सूची मिल रही है, मुझे वर्तमान में कनेक्ट डिवाइस की आवश्यकता है। मैं इसे कैसे प्राप्त कर सकता हूं। कृपया इसे प्राप्त करने में मेरी मदद करें। अग्रिम में धन्यवाद।वर्तमान में जुड़े ब्लूटूथ डिवाइस एंड्रॉइड

+0

' <नाम = "android.permission.BLUETOOTH"/का उपयोग करता है-अनुमति एंड्रॉयड> आशा है कि .permission.BLUETOOTH_ADMIN "/> 'इस अनुमति का उपयोग करें http://stackoverflow.com/questions/14834318/android-how-to-pair-bluetooth-devices-programmatically – Android

+0

पर यह लिंक भी देखें मेरे लिए सवाल पूरी तरह से स्पष्ट नहीं है । आप दरअसल करते क्या हैं? BtlDevice.CreateRfcommSocketToServiceRecord (MY_UUID) करते समय आप कनेक्ट किए गए btlDevice बनाते हैं; वैकल्पिक रूप से सिस्टम अंतिम जुड़े btlDevice का उपयोग करें। कृपया जो भी कर रहे हैं, कृपया अधिक जानकारी दें। – Majkl

+0

यह https://stackoverflow.com/questions/26341718/connection-to- विशिष्ट- hid-profile-bluetooth-device –

उत्तर

3

अपने मैनिफ़ेस्ट फ़ाइल

<receiver android:name=".MyBluetoothReceiver" > 
<intent-filter> 
<action android:name="android.bluetooth.device.action.ACL_CONNECTED" /> 
<action android:name="android.bluetooth.device.action.ACL_DISCONNECTED" 
/> 
<action 
android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" 
/>   
</intent-filter> 
</receiver> 

में इस जोड़े इस कक्षा

public class MyBluetoothReceiver extends BroadcastReceiver { 
@Override 
public void onReceive(Context context, Intent intent) { 
    String action = intent.getAction(); 

    // When discovery finds a device 
    if (BluetoothDevice.ACTION_ACL_CONNECTED.equals(action)) { 

    BluetoothDevice device = intent 
       .getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); 

    Toast.makeText(getApplicationContext(),device.getName() +" CONNECTED",Toast.LENGTH_LONG).show(); 

    } else if (BluetoothAdapter.ACL_DISCONNECTED 
      .equals(action)) { 

    } 
} 
} 
+0

यह डिवाइस कनेक्ट होने पर ही अधिसूचना देगा। डिवाइस के बारे में क्या पहले से कनेक्ट है और फिर आप अपना ऐप लॉन्च करते हैं। कनेक्टेड डिवाइस कैसे प्राप्त करें? – usman

6

सुंदर सीधे आगे है यही कारण है कि जोड़ें। एंड्रॉयड BluetoothManager

getConnectedDevices()

कार्यान्वयन की तरह करने की विधि है:

BluetoothManager manager = (BluetoothManager) getSystemService(BLUETOOTH_SERVICE); 
    List<BluetoothDevice> connected = manager.getConnectedDevices(GATT); 
    Log.i("Connected Devices: ", connected.size()+""); 

आप जुड़े उपकरणों के बारे में अधिक जानकारी के चाहते हैं तो आपको उपरोक्त सूची विधि का उपयोग कर सकते हैं यह में डाल के लिए लूप और जुड़े हुए प्रत्येक ब्लूटूथ डिवाइस के आंतरिक विवरण प्राप्त करें।

लॉग्स: <का उपयोग करता है-अनुमति एंड्रॉयड: नाम = "एंड्रॉयड:

12-20 18:04:09.679 14933-14933/com.salman.dleague.blescanning I/Connected Devices:: 2 

अपनी उपयोगी :)

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