Android 6.0 sürümüne yükselttikten sonra Bluetooth Düşük Enerji (BLE) taraması yalnızca cihazda Konum hizmetleri etkinse çalışacaktır. Referans için buraya bakın: Android 6.0'da Bluetooth Düşük Enerji startScan cihazları bulamıyor
Temel olarak, uygulama için olduğu kadar telefon için de izninizin etkinleştirilmiş olması gerekir. Bu bir hata mı? Konum hizmetleri gerçekten etkinleştirilmeden tarama yapmak mümkün müdür? Tüm uygulamalarım için konuma sahip olmak istemiyorum.
DÜZENLE API 21'de sağlanan startScan()
yöntemi
kullandığımı belirtmedim BluetoothLeScanner
. Bu yöntemin gerektirdiği bildirimdeki kurs ve hassas konum izinleri konusunda sorun yaşamadım. Sadece uygulamamın kullanıcılarının uygulamamı kullanmak için cihazlarında (GPS, vb.) Konum hizmetlerini etkinleştirmelerini istemiyorum.
Önceden, startScan()
yöntem telefonda Konum hizmetleri devre dışı bırakılmış olarak çalışır ve sonuçları döndürürdü. Bununla birlikte, Marshmallow'da, aynı uygulama "tarar", ancak sessizce başarısız olur ve telefonda konum hizmetleri etkinleştirilmediğinde ve kurs / hassas konum izinleri bildirideyken hiçbir sonuç döndürmez.