标签: android-auto

Android Auto应用程序可以在实际设备上进行测试吗?

我们正在为现有的Android/iOS版应用添加Android Auto和iOS CarPlay支持.我们能够按照Android开发人员文档的指示,使用Android Media Browser模拟器成功测试Auto应用程序.

我们还有一个支持Auto和CarPlay的立体声头单元.我们能够在头部装置上成功使用CarPlay应用程序,并且我们可以在头部装置上使用已发布的自动应用程序.但是,我们无法在实际设备上看到我们的开发应用程序.

Auto文档仍然有点薄,但我收集的是基于我看到的一些措辞,当他们通过审核时,自动应用程序会获得Google Play添加的一些特殊标记(或类似):

在向Android Auto用户提供该应用之前,Google Play会根据自动应用质量标准提交您的应用以进行审核,并通知您结果.如果您的应用获得批准,Google Play会将该应用提供给Android Auto用户.

基于此,在通过Google Play发布和批准之前,是否可以在硬件上运行Auto应用程序?

这似乎是一个令人沮丧的鸡蛋问题.我们希望在发布之前确信实际硬件和目标设备上的内容都很好.

android google-play android-auto

6
推荐指数
2
解决办法
637
查看次数

在Android AUTO DHU上显示Toast

我正在为Android Auto构建一个媒体播放器,并努力制作出现在汽车显示器主机上的简单Toast消息.

在我的自定义操作中,我有一个需要在Car界面上显示Toast消息的操作,但是当我实现toast时,它只显示在手持设备/手机上.

我已经搜索了互联网的高低,并且无法找到关于在Car Head Unit上显示toast的任何信息,即使它已在Android Auto Design指南中列出:: https://designguidelines.withgoogle.com/android-auto/ Android的自动/ APP-ui.html#应用程序的UI抽屉

有人可以请给我一个在Android自动平台上提供视觉反馈或祝酒的例子吗?

android android-toast android-auto

6
推荐指数
1
解决办法
686
查看次数

Android自动 - 如何启用开发者模式

以前在Android Auto应用程序中,我可以打开自动应用程序并点击标题图像大约10次,然后您将收到一条Toast消息,告诉您可以从溢出菜单访问开发人员模式.但是由于更新,我无法再开启开发者模式了.有新的方法吗?

它使用的是像这样,但现在应用程序被更新,还有一个头形象,但低于它,如图所示,现在麦克风点击时什么也不做:

在此输入图像描述

android android-auto

5
推荐指数
1
解决办法
2752
查看次数

自动:在进行后台通话时显示进度

我们有一个音频应用程序,我们想为其添加 Android Auto 功能。该应用程序基本上有一个广播流列表,用户可以选择播放哪一个。

为了获取流,我需要调用 Web 服务并获取流,而在发生这种情况时,我希望至少在汉堡菜单上显示不确定的进度,就像 Spotify 在加载内容时所做的那样。

此时如果我已经下载了流,在我的MediaBrowserServiceCompat自动调用时,onLoadChildren我的Result<List<MediaBrowserCompat.MediaItem>> result对象填充了 MediaItems,如果我没有它们,我只发送一个空的 MediaItems 数组并调用 API,一旦它完成我调用notifyChildrenChanged在服务和流列表出现,但在那之前我有一个“没有项目”的消息。

我在 Android 开发人员网站上找不到设置子菜单以显示加载的方法,我找不到执行此操作的示例应用程序。没有人知道是否有办法,说不定什么时候onGetRoot被调用,让自动知道它调用之前等待onGetRootonLoadChildren?我也尝试调用 API 然后调用自己,onGetRoot但它没有用。

提前致谢。

android android-auto

5
推荐指数
1
解决办法
398
查看次数

onLoadChildren永远不会在MediaBrowserServiceCompat中调用

我在我的应用程序中实现了MediaBrowserServiceCompat服务.

@Override
public BrowserRoot onGetRoot(@NonNull String s, int i, @Nullable Bundle bundle) {
    Log.e("testing","onGetRoot");
    return new BrowserRoot(MEDIA_ID_ROOT, null);
}
Run Code Online (Sandbox Code Playgroud)

MediaBrowserServiceCompat当我在手机中打开Android自动应用程序时,应用程序正在输入方法,但该方法onGetRoot永远不会被调用.所以我无法加载我的音乐文件夹.

android auto android-auto

5
推荐指数
2
解决办法
219
查看次数

如何在应用内使用 Android Car API

我想在我的 Android 应用程序中测试并(如果可能)利用 Android Car API 功能。具体来说,我需要能够在android.car.*包下导入类,可以在这里看到:https : //developer.android.com/reference/android/car/packages.html

我还在 Google Git 上找到了 repo:https : //android.googlesource.com/platform/packages/services/Car/

我应该如何将此库添加为我的应用程序中的依赖项?

android android-auto

5
推荐指数
2
解决办法
3828
查看次数

在Android Auto中从MusicBrowserServiceCompat发送API请求

我正在尝试构建像Spotify这样的音乐应用。我在将应用程序与Android Auto集成时遇到困难。我有一个后台服务,MediaBrowserServiceCompat可以播放音乐。在Android自动模式下,我何时何地向远程服务器发送请求以获取播放列表和歌曲?

我检查了Google的Universal Player代码,我不明白它们是如何获得歌曲的(而且在科特林……代码太短了,无法理解) https://github.com/android/uamp

我还发现MediaBrowserCompat这与连接有关,但是我不确定它是API连接还是服务。

我该怎么做?我们如何将请求发送到远程服务器,获取结果并填充它们?

android android-auto

5
推荐指数
0
解决办法
67
查看次数

Android Auto:如何在 MediaBrowserService 的 loadChildren() 上返回大量子项?

我目前正在尝试实现一个MediaBrowserService为 Android Auto 构建媒体应用程序的方法。我按照Android Auto官方文档(https://developer.android.com/training/cars/media#onLoadChildren)来实现该onLoadChildren功能。

以下是我尝试在 Android Auto 屏幕上显示内容的代码片段:

override fun onLoadChildren(parentId: String, result: Result<MutableList<MediaBrowserCompat.MediaItem>>) {
  ...
  if (parentId == NODE_LIBRARY_ALBUMS) {
    val items = mutableListOf<MediaBrowserCompat.MediaItem>()

    val albumList = LibraryManager.getAlbumList()
    for (it in albumList) {
      val descriptionBuilder = MediaDescriptionCompat.Builder()
        .setTitle(it.albumName)
      items.add(MediaBrowserCompat.MediaItem(descriptionBuilder.build(), MediaBrowserCompat.MediaItem.FLAG_BROWSABLE))
    }

    result.sendResult(items)
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)

当项目数量足够小时,这种方法效果很好。但是,当项目数量较大时(例如大约5000个项目),会出现以下错误:

E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!  (parcel size = 1339384)
Run Code Online (Sandbox Code Playgroud)

我发现其他几个支持 Android Auto 的媒体应用程序(例如三星音乐)可以显示大量项目。有什么方法可以在函数上返回大量项目onLoadChildren,或者有其他方法可以解决这个问题吗?

谢谢!

android android-auto mediabrowserservice

5
推荐指数
1
解决办法
833
查看次数

Android Auto Template 配额限制(违反模板流量限制)

有什么办法可以androidx.car.app.model.Template限制Screen刹车吗onGetTemplate()

堆栈跟踪:

2022-01-27 13:26:10.862 22269-22283/? E/CarApp.H.Tem: Error: [app: ComponentInfo{com.cloudmade.android.cbuddy/com.cloudmade.android.cbuddy.androidauto.service.CarService}, type: null, cause: axo: Unsupported template type as the last step in a task. [template: ListTemplate, ID: 69f3b46c-090d-4fb8-8c6c-fd3656dea475], debug msg: Template flow restrictions violated]
    axo: Unsupported template type as the last step in a task. [template: ListTemplate, ID: 69f3b46c-090d-4fb8-8c6c-fd3656dea475]
        at azt.onSuccess(SourceFile:50)
        at androidx.car.app.IOnDoneCallback$Stub.onTransact(SourceFile:10)
        at android.os.Binder.execTransact(Binder.java:752)
Run Code Online (Sandbox Code Playgroud)

android android-auto

5
推荐指数
0
解决办法
419
查看次数

Flutter Mobile 应用程序中有 Android Auto 集成的示例吗?

我们有一个可运行的 flutter 应用程序,可与 Google 地图配合使用,并且在驾驶时非常有用。我们正在寻求构建 Android-Auto/CarPlay 集成。我们找到了一个不错的项目 Flutter_carplay ( https://pub.dev/packages/flutter_carplay ),它可以让 CarPlay 更轻松地集成到我们的应用程序中。但是,我还没有找到类似的 Android Auto Integration 项目。有两种方法,我正在考虑:

  1. Flutter 支持运行本机代码。因此,我们可以使用 Kotlin/Java 构建 Android Auto 屏幕并从 flutter 应用程序运行它们。这可能会有点耗时。

  2. 有没有类似 flutter_carplay 的项目可以使这项任务变得更容易?

任何帮助将不胜感激。

android carplay android-auto flutter

5
推荐指数
0
解决办法
1290
查看次数