Наше приложение содержит MediaBrowserService
и использует белый список, чтобы ограничить, кто может запросить услугу. Он обычно используется, чтобы разрешить Android Auto и Android Wear запрашивать наше приложение для аудиоконтента. Насколько я знаю, это по-прежнему рекомендуемый подход. Например, как показано в этом примере приложения Google: MediaBrowserService sample appПочему пакет «com.android.bluetooth» запрашивает наш MediaBrowserService на устройствах Samsung?
Наше приложение сообщает имена пакетов, которые пытаются запросить наш MediaBrowserService
, но НЕ относятся к белым. Мы довольно регулярно получаем сообщения о том, что «com.android.bluetooth» пытался позвонить нам, и ему было отказано.
Я озадачен этими отчетами. Мы никогда не видели таких звонков из этого пакета на наших собственных тестовых устройствах. Мои предыдущие попытки спросить пользователя, есть ли у них устройство Bluetooth, которое может отображать аудиоинформацию, были встречены с путаницей ... так что, кажется, сам Android делает эти звонки?
С кем-нибудь еще сталкивались? Этот подход в белом списке требует проверки конкретных сертификатов подписания. У com.android.bluetooth есть согласованный сертификат подписи, который можно использовать для добавления этого пакета в белый список?
UPDATE 1:
Глядя на отчеты, которые мы получили от пользователей, это представляется исключительно Samsung Android 6.0.1 явление. Первый отчет о нем появился на 3/13/2016, и все лето было устойчивым.
Ниже приведен неполный список моделей, сообщающих об этой проблеме. У всех из них был Android 6.0.1. Может ли это быть связано с их часами Galaxy Gear на базе Tizen?
- Галактика Примечание 4 (СМ-N910R4)
- Галактика Примечание 4 (SAMSUNG-SM-N910A)
- Galaxy Note 5 (СМ-N920V)
- Galaxy S5 (SM-G900V)
- Galaxy S5 Активный (SAMSUNG-SM-G870A)
- Galaxy S6 (SM-G920R7)
- Galaxy S6 (SAMSUNG-SM-G890A)
- Galaxy S7 Край (SM-G935V)
- Galaxy S7 Гурт (SAMSUNG-SM-G935A)
- Galaxy J7 (SM-J700T1)
UPDATE 2:
Я наконец воспроизвел ситуацию на Galaxy S6 Краю с 6.0.1. Bluetooth на устройстве просто необходимо включить. Если он включен, ни с чем не парным или подключенным, когда я начинаю воспроизводить аудио в нашем приложении «com.android.bluetooth» (UID 1002), звоните onGetRoot
и onLoadChildren
на наш MediaBrowserService
. ЗАЧЕМ!? Если я разрешу, на устройстве ничего не изменится. Мне показалось, что я вижу виджет Samsung, представляющий информацию о медиа из нашего приложения ... но я этого не делаю.
Любой прогресс в этом вопросе? Какие-нибудь новые вещи? – Kenumir
Нет. Мы использовали для регистрации всех абонентов MediaBrowserService, не включенных в список белого цвета, но эти устройства Samsung рассылали его так сильно, что мы просто перестали записывать эту информацию. Поэтому я «исправил» его, больше не ища его. ¯ \ _ (ツ) _/¯ –
Я полагаю, это может быть связано с их часами на основе Tizen, но если это так, кажется странным неоднократно вызывать MediaBrowerService, когда часы не подключены. У меня нет доступа к часам Gear для проверки этой теории. –