【问题标题】:Displaying Toast on Android AUTO DHU在 Android AUTO DHU 上显示 Toast
【发布时间】:2018-04-20 01:45:16
【问题描述】:

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

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

我在网上到处搜索,都找不到关于在车载主机上显示敬酒的任何信息,即使它列在 Android Auto 设计指南中::https://designguidelines.withgoogle.com/android-auto/android-auto/app-ui.html#app-ui-drawer

谁能给我指一个在 Android Auto 平台上提供视觉反馈或祝酒的示例?

【问题讨论】:

  • 为了提供视觉反馈,您可以在其中使用通知。
  • 了解,但我们特别希望显示设计指南中提到的 toast。通知的问题是我们在手持设备上使用 toast 来执行此操作,并且不想要通知.. 如果通知是唯一的方法,那么我们需要一种方法来确定用户当前是否附加到 android auto使用逻辑来确定我们是想要祝酒词还是通知。
  • 此外,我们不希望用户必须与消息进行交互。我们希望它在短时间内消失
  • 它是否与您传递给 Toast 的上下文有关?
  • 我调查过了.. 但我们正在传递应用程序上下文.. 不知道如何获取 headUnit 的上下文

标签: android android-toast android-auto


【解决方案1】:

你不能。

如果您查看以下问题:Develop an Android Auto custom app 我共享了一个 jar,它允许您从那里使用一些非官方的 Android Auto SDK,您可以导入它:

import com.google.android.apps.auto.sdk.CarToast;
import com.google.android.apps.auto.sdk.notification.CarNotificationExtender;

但是,即使您像这样导入类并使用 CarToast:

CarToast.makeText(context,"SPEED CAMERA: " + text, Toast.LENGTH_LONG).show();

它只会在手机屏幕上显示吐司,而不是在投影屏幕上。

因此,要正确显示消息,您需要执行以下操作:

        CarToast.makeText(context,"SPEED CAMERA: " + text, Toast.LENGTH_LONG).show();

        CarNotificationExtender paramString2 = new CarNotificationExtender.Builder()
                .setTitle(title)
                .setSubtitle(text)
                .setShouldShowAsHeadsUp(true)
                .setActionIconResId(R.drawable.ic_danger_r)
                .setBackgroundColor(Color.WHITE)
                .setNightBackgroundColor(Color.DKGRAY)
                .setThumbnail(bmp)
                .build();

        NotificationCompat.Builder mynot = new NotificationCompat.Builder(context)
                .setContentTitle(title)
                .setContentText(text)
                .setLargeIcon(bmp)
                .setSmallIcon(R.drawable.ic_danger_r)
                .setColor(Color.GRAY)
                .extend(paramString2);


        mNotifyMgr.notify(1983,mynot.build());

这将显示仅在手机屏幕上可见的 toast,并将显示仅在汽车屏幕上可见的提示通知。由于它没有附加任何操作,因此如果用户与通知交互,则不会发生任何事情。

如果手机连接到汽车,手机屏幕无论如何都会关闭,因此显示 Toast 将被忽略。

所有这一切的问题在于,由于它是一个非官方的 jar 并且 SDK 不向公众提供,您将无法在 PlayStore 上发布应用程序 :( 话虽如此,我只尝试发布完整的应用程序,但是只显示通知的应用程序可能会通过过滤器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-16
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    相关资源
    最近更新 更多