หลังจากอัปเกรดเป็น Android เวอร์ชัน 6.0 การสแกน Bluetooth Low Energy (BLE) จะใช้ได้เฉพาะเมื่อเปิดใช้งานบริการตำแหน่งบนอุปกรณ์เท่านั้น ดูที่นี่สำหรับการอ้างอิง: Bluetooth Low Energy startScan บน Android 6.0 ไม่พบอุปกรณ์
โดยทั่วไปคุณจะต้องเปิดใช้งานการอนุญาตสำหรับแอปและเปิดใช้งานสำหรับโทรศัพท์ นี่คือบั๊กหรือไม่? เป็นไปได้ไหมที่จะสแกนโดยไม่เปิดใช้บริการระบุตำแหน่ง ฉันไม่ต้องการมีตำแหน่งสำหรับแอปทั้งหมดของฉัน
แก้ไข
ฉันไม่ได้พูดถึงว่าฉันกำลังใช้startScan()
วิธีการที่BluetoothLeScanner
ให้ไว้ใน API 21 ฉันโอเคกับหลักสูตรและการอนุญาตตำแหน่งที่ดีในรายการที่วิธีนี้ต้องการ ฉันไม่ต้องการให้ผู้ใช้แอปของฉันต้องเปิดใช้บริการระบุตำแหน่งบนอุปกรณ์ (GPS ฯลฯ ) เพื่อใช้แอปของฉัน
ก่อนหน้านี้startScan()
วิธีนี้จะเรียกใช้และส่งคืนผลลัพธ์โดยปิดใช้บริการตำแหน่งบนโทรศัพท์ อย่างไรก็ตามใน Marshmallow แอปพลิเคชันเดียวกันจะ "สแกน" แต่ล้มเหลวโดยไม่โต้ตอบและไม่แสดงผลลัพธ์เมื่อไม่ได้เปิดใช้งานบริการระบุตำแหน่งบนโทรศัพท์และการอนุญาตแน่นอน / ตำแหน่งที่ดียังคงอยู่ในไฟล์ Manifest