Android Auto Media search Поиск не работает, как добавить реализацию seach в приложение Android Auto? - PullRequest
0 голосов
/ 18 октября 2019

Я реализовал MediaBrowserServiceCompat в своем сервисе, а также переопределил метод обратного вызова onSearch. В имплантации PlaybackPreparer моего MediaSession Compat я также добавил флаги PlaybackStateCompat.ACTION_PREPARE_FROM_SEARCH or PlaybackStateCompat.ACTION_PLAY_FROM_SEARCH. Я также отправляю логический флаг "android.media.browse.SEARCH_SUPPORTED" как истинный в моем главном BrowserRoot. Мои реализации метода для вышеупомянутого следующие:

override fun getSupportedPrepareActions(): Long =
            PlaybackStateCompat.ACTION_PREPARE_FROM_MEDIA_ID or
            PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID or
                    PlaybackStateCompat.ACTION_PREPARE_FROM_SEARCH or
                    PlaybackStateCompat.ACTION_PLAY_FROM_SEARCH
  override fun onPrepareFromSearch(query: String?, playWhenReady: Boolean, extras: Bundle?) {
        Timber.d("onPrepareFromSearch: $query")
    }
@Override
    public void onSearch(@NonNull String query, Bundle extras, @NonNull Result<List<MediaBrowserCompat.MediaItem>> result) {
        Timber.d("Search Query: %s", query);
}

Но я не получаю никаких обратных вызовов в обоих этих методах, когда я запускаю поиск через голосовую команду, например Воспроизвести песню имя , я только что получил ответ от помощника: Запрос Имя приложения для воспроизведения Название песни . Что-то пошло не так, попробуйте открыть приложение, чтобы продолжить.

...