Не удалось подписаться на Android-устройство: 2807 Отсутствует разрешение микрофона - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь интегрировать Android Nearby (https://developers.google.com/nearby/) в мое приложение, однако, когда я пытаюсь использовать nearby.subscribe, происходит сбой с ошибкой «Отсутствует разрешение микрофона».

Поскольку яне удалось найти такое разрешение для добавления к AndroidManifest.xml, я немного искал и пытался добавить RECORD_AUDIO, но, к сожалению, это не решает проблему.

Заданные разрешения (также во время выполнения):

<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>

Код:

val nearby = Nearby.getMessagesClient(this, MessagesOptions.Builder().setPermissions(NearbyPermissions.BLE).build())
nearby.publish(Message("Hello".toByteArray()))
nearby.subscribe(object : MessageListener() {
   override fun onDistanceChanged(p0: Message?, p1: Distance?) {
      super.onDistanceChanged(p0, p1)
      toast("onDistanceChanged")
   }
   override fun onLost(p0: Message?) {
      super.onLost(p0)
      toast("onLost")
   }
   override fun onBleSignalChanged(p0: Message?, p1: BleSignal?) {
      super.onBleSignalChanged(p0, p1)
      toast("onBleSignalChanged")
   }

   override fun onFound(p0: Message?) {
      super.onFound(p0)
      toast("onFound")
   }
}).addOnFailureListener { toast("onFailure " + it.message) }
  .addOnSuccessListener { toast("onSuccess") }

Ошибка:

2807: Missing microphone permission

Как заставить работать API-интерфейс Nearby?

...