pagination - 如何通过引用 Android Auto MediaBrowser 在 MediaBrowserServiceCompat 中设置 EXTRA_PAGE 和 EXTRA_PAGE_SIZE?

标签 pagination android-auto mediabrowserservice mediabrowserservicecompat mediabrowser

我有一个 Android Auto 应用程序。我想利用分页在应用程序内进行浏览。看来您可以通过获取对 MediaBrowserCompat 的引用并在 .subscribe() 中传递这些常量来设置 EXTRA_PAGE 和 EXTRA_PAGE_SIZE 。但是,我不知道如何获取对 Android Auto Audio 用于调用 .subscribe() 的 MediaBrowserCompat 的引用。

对于本应简单的事情来说,这似乎太复杂了,我是不是想太多了?

最佳答案

如何获取 Android Auto MediaBrowser 的引用? 为此,您应该知道包名称和类名称(如果您尝试将其绑定(bind)到应用程序外部)。如果您不知道这些详细信息,您可以从包管理器获取全部信息。

final Intent providerIntent = 
new Intent(MediaBrowserService.SERVICE_INTERFACE);
List<ResolveInfo> mediaApps = 
    mPackageManager.queryIntentServices(providerIntent, 0);
for (ResolveInfo info : mediaApps) {
    new MediaBrowserCompat(context, 
        new ComponentName(info.serviceInfo.packageName, 
        info.serviceInfo.name), mConnectionCallbacks, null);
}

如何设置EXTRA_PAGE和EXTRA_PAGE_SIZE?

Bundle bundle = new Bundle();
bundle.putInt(MediaBrowserCompat.EXTRA_PAGE, 1);
bundle.putInt(MediaBrowserCompat.EXTRA_PAGE_SIZE, 1);
mBrowser.subscribe("__SOME_ID__", bundle, callback);

如果您要使用服务端的 bundle 覆盖 onLoadChildren(),那么您还必须处理分页逻辑。您可以通过覆盖 onLoadChildren 而无需捆绑来绕过它。

关于pagination - 如何通过引用 Android Auto MediaBrowser 在 MediaBrowserServiceCompat 中设置 EXTRA_PAGE 和 EXTRA_PAGE_SIZE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45027916/

相关文章:

android - Google 是否会手动审核 Android Auto 的所有应用更新?

android - 无法使用 Android Auto 'android.car' 库 - 引发 RuntimeException : Stub

android - MediaBrowser 未连接到 MediaBrowserService

spring - 有没有 Spring MVC 兼容的 UI 框架?

php - 使用 ajax 的 Codeigniter 分页

android - 安卓汽车和安卓汽车的区别

android - 带有 ExoPlayer 和 PlayerControlView 的 MediaBrowserService - 如何从 UI (PlayerControlView) 访问播放器实例?

java - MediaBrowserCompat.connect() 从不调用 onConnected 或任何 MediaBrowserCompat.ConnectionCallback 方法

php - 找不到 Joomla 分页模板

php - 如何实现分页?