मैं यह जांचना चाहता हूं कि किसी डिवाइस पर ब्लूटूथ सक्षम है या नहीं (ताकि कोई ऐप उपयोगकर्ता इंटरैक्शन के बिना इसका उपयोग कर सके)। क्या उसे करने का कोई तरीका है? क्या मैं ब्लूटूथ और ब्लूटूथ कम ऊर्जा को अलग से देख सकता हूं?डिवाइस पर ब्लूटूथ सक्षम है या नहीं,
उत्तर
क्या ऐसा करने का कोई तरीका है? क्या मैं ब्लूटूथ और ब्लूटूथ कम ऊर्जा को अलग से देख सकता हूं?
"डिवाइस" से आपका क्या मतलब है, क्या यह डिवाइस डिवाइस पर चलता है, या डिवाइस उस ब्लूटूथ सेवा को होस्ट करता है जिसे ऐप को एक्सेस करने की आवश्यकता होती है?
जहां तक मुझे पता है, यूडब्लूपी में कोई एपीआई नहीं है यह जांचने के लिए कि डिवाइस पर ब्लूटूथ सक्षम है या नहीं।
विंडोज मोबाइल डिवाइस पर, आप वर्कअराउंड के रूप में निम्न तरीके का उपयोग कर सकते हैं।
private async void FindPaired()
{
// Search for all paired devices
PeerFinder.AlternateIdentities["Bluetooth:Paired"] = "";
try
{
var peers = await PeerFinder.FindAllPeersAsync();
// Handle the result of the FindAllPeersAsync call
}
catch (Exception ex)
{
if ((uint)ex.HResult == 0x8007048F)
{
MessageBox.Show("Bluetooth is turned off");
}
}
}
विंडोज पीसी डिवाइस पर, मेरा सुझाव है कि आप वर्कअराउंड के रूप में ब्लूटूथ सेवा स्तर में सेवाओं की पहुंच की जांच कर रहे हैं।
गैर-बीएलई सेवाओं जैसे आरएफसीओएमएम के लिए, आप एक विशिष्ट सेवा आईडी वाले उपकरणों की गिनती प्राप्त कर सकते हैं। ब्लूटूथ हार्डवेयर स्तर में अक्षम है, तो गिनती 0.
rfcommServiceInfoCollection = await DeviceInformation.FindAllAsync(
RfcommDeviceService.GetDeviceSelector(RfcommServiceId.ObexObjectPush));
BLE सेवाओं के लिए किया जाएगा, तो आप BLE विज्ञापन प्राप्त करने के लिए BluetoothLEAdvertisementWatcher वर्ग का उपयोग कर सकते हैं। यदि ब्लूटूथ हार्डवेयर स्तर में अक्षम है, तो कोई विज्ञापन प्राप्त नहीं होगा।
watcher = new BluetoothLEAdvertisementWatcher();
watcher.Received += OnAdvertisementReceived;
private async void OnAdvertisementReceived(BluetoothLEAdvertisementWatcher watcher, BluetoothLEAdvertisementReceivedEventArgs eventArgs)
{
var address = eventArgs.BluetoothAddress;
BluetoothLEDevice device = await BluetoothLEDevice.FromBluetoothAddressAsync(address);
var cnt =device.GattServices.Count;
watcher.Stop();
}
मैंने इसे Radio
कक्षा का उपयोग करके पूरा किया।
यह जांचने के लिए कि ब्लूटूथ सक्षम है:
public static async Task<bool> GetBluetoothIsEnabledAsync()
{
var radios = await Radio.GetRadiosAsync();
var bluetoothRadio = radios.FirstOrDefault(radio => radio.Kind == RadioKind.Bluetooth);
return bluetoothRadio != null && bluetoothRadio.State == RadioState.On;
}
यह जांचने के लिए ब्लूटूथ (सामान्य रूप में) समर्थित है:
public static async Task<bool> GetBluetoothIsSupportedAsync()
{
var radios = await Radio.GetRadiosAsync();
return radios.FirstOrDefault(radio => radio.Kind == RadioKind.Bluetooth) != null;
}
ब्लूटूथ स्थापित नहीं है, तो वहाँ कोई Bluetooth रेडियो हो जाएगा रेडियो सूची में, और LINQ क्वेरी वहां शून्य हो जाएगी।
ब्लूटूथ क्लासिक और LE अलग से जांचने के लिए, मैं वर्तमान में ऐसा करने के तरीकों की जांच कर रहा हूं और इस जवाब को अपडेट कर दूंगा जब मुझे पता चलेगा कि एक तरीका मौजूद है और काम करता है।
@Zenel जवाब और नए BluetoothAdapter
वर्ग (विन 10 रचनाकारों अपडेट से) मिश्रण:
/// <summary>
/// Check, if any Bluetooth is present and on.
/// </summary>
/// <returns>null, if no Bluetooth LE is installed, false, if BLE is off, true if BLE is on.</returns>
public static async Task<bool?> IsBleEnabledAsync()
{
BluetoothAdapter btAdapter = await BluetoothAdapter.GetDefaultAsync();
if (btAdapter == null)
return null;
if (!btAdapter.IsCentralRoleSupported)
return null;
var radios = await Radio.GetRadiosAsync();
var radio = radios.FirstOrDefault(r => r.Kind == RadioKind.Bluetooth);
if (radio == null)
return null; // probably device just removed
// await radio.SetStateAsync(RadioState.On);
return radio.State == RadioState.On;
}
- 1. क्या ब्लूटूथ 4.0 डिवाइस ब्लूटूथ 2.0 डिवाइस पर डेटा भेज सकता है?
- 2. आईओएस वाईफ़ाई हॉटस्पॉट या ब्लूटूथ डिवाइस का पता लगाता है
- 3. मैं ब्लूटूथ डिवाइस
- 4. जुड़े ब्लूटूथ डिवाइस सूचीबद्ध?
- 5. एंड्रॉइड - ब्लूटूथ को हमेशा चालू करने में सक्षम कैसे करें? एंड्रॉयड पर ब्लूटूथ विकास पर
- 6. 2 डिवाइस ब्लूटूथ एंड्रॉइड
- 7. ब्लूटूथ या यूएसबी
- 8. सक्षम या सक्षम है?
- 9. कोई CUDA- सक्षम डिवाइस नहीं मिला
- 10. एंड्रॉइड ब्लूटूथ: युग्मित डिवाइस सूची
- 11. वास्तविक डिवाइस पर ऑटोमेशन स्क्रिप्ट चलाने में सक्षम नहीं
- 12. एंड्रॉइड - ब्लूटूथ डिस्कवरी को कोई डिवाइस नहीं मिला
- 13. एक आईफोन वायरलेस या ब्लूटूथ पर एक और गैर-आईफोन डिवाइस कैसे एक्सेस कर सकता है?
- 14. एंड्रॉइड में ब्लूटूथ डिवाइस की खोज - startDiscovery()
- 15. मोबाइल पर छिपा हुआ/दृश्यमान ब्लूटूथ डिवाइस का पता लगाएं
- 16. ब्लूटूथ एंड्रॉइड पर एडीबी
- 17. वाईफाई विकल्प सक्षम है या नहीं
- 18. एंड्रॉइड पर पेयर किए गए ब्लूटूथ डिवाइस से ऑटो कनेक्टिंग
- 19. एंड्रॉइड 4.4: ब्लूटूथ कम ऊर्जा; बीएलई डिवाइस
- 20. सभी ब्लूटूथ डिवाइस नहीं ढूंढ सकते हैं एंड्रॉइड
- 21. एंड्रॉयड ब्लूटूथ डिवाइस का नाम बदलें
- 22. मैं कैसे बता सकता हूं कि एक बड़ी सेवा वाई-फाई या ब्लूटूथ है या नहीं?
- 23. pjsip ios des पर लाउडस्पीकर सक्षम नहीं करता
- 24. ब्लूटूथ
- 25. select2 अनुमति विकल्प सक्षम होने पर क्लीनर सक्षम नहीं है
- 26. एंड्रॉइड ब्लूटूथ जोड़ना नहीं दिखा रहा है
- 27. एंड्रॉइड वेयर, ब्लूटूथ डिवाइस से कनेक्ट करें
- 28. ब्लूटूथ
- 29. बंडल "ApplicationSonataUserBundle" मौजूद नहीं है या यह सक्षम नहीं है
- 30. पीसी कैसे ब्लूटूथ सक्षम है यह जांचने के लिए?
'watcher.Stopped' को हैंडलर जोड़ें और देखें कि BLE उपलब्ध नहीं है, आप मिल गया' args.Error == BluetoothError .RadioNotAvailable'। – xmedeko