разная реакция применения при сканировании маяков на разных устройствах - PullRequest
0 голосов
/ 28 сентября 2019

У меня есть приложение для сканирования 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
}

по тому, как я установил симулятор маяков на свои устройства, и он может сканировать маяки, но в моем коде на этих устройствах вывод равен нулю

1 Ответ

0 голосов
/ 28 сентября 2019

проверить с этим регионом:

beaconManager.startRangingBeaconsInRegion(Region("myRangingUniqueId", null, null, null))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...