У меня есть приложение для сканирования BLE-маяков.Я использовал библиотеку Altbeacon, чтобы сделать это.Когда я запускаю его на своем Nexus 6p, он находит несколько маяков, но когда я запускаю его на галактике s9 или Kindle fire HD 8, число найденных маяков всегда равно нулю.Вот мой код:
override fun onBeaconServiceConnect() {
beaconManager.removeAllRangeNotifiers()
beaconManager.addRangeNotifier(object : RangeNotifier {
override fun didRangeBeaconsInRegion(beacons: Collection<Beacon>, region: Region) {
Log.i("ranging" , "beacons size:" + beacons.size)
for (b in beacons) {
Toast.makeText(getApplicationContext(),b.id1.toString() + " beacon I see is about " + b.rssi + " away.",
Toast.LENGTH_SHORT).show();
}
}
})
try {
beaconManager.startRangingBeaconsInRegion(Region("myRangingUniqueId", Identifier.parse(""), null, null))
} catch (e: RemoteException) {
}
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val binding : com.example.attendancecheck_v1.databinding.FragmentTeacherScanningBinding = DataBindingUtil.inflate(
inflater, R.layout.fragment_teacher_scanning, container, false)
beaconManager.bind(this)
setHasOptionsMenu(true)
return binding.root
}
по тому, как я установил симулятор маяков на свои устройства, и он может сканировать маяки, но в моем коде на этих устройствах вывод равен нулю