在Android AUTO DHU上显示Toast

eri*_*rik 6 android android-toast android-auto

我正在为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自动平台上提供视觉反馈或祝酒的例子吗?

Emi*_*oni 0

你不能。

如果您查看以下问题:开发 Android Auto 自定义应用程序,我共享了一个 jar,它允许您从那里使用一些非官方 Android Auto SDK,您可以导入以下内容:

import com.google.android.apps.auto.sdk.CarToast;
import com.google.android.apps.auto.sdk.notification.CarNotificationExtender;
Run Code Online (Sandbox Code Playgroud)

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

CarToast.makeText(context,"SPEED CAMERA: " + text, Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)

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

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

        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());
Run Code Online (Sandbox Code Playgroud)

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

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

所有这一切的问题是,由于它是一个非官方的 jar 并且 SDK 不向公众开放,你将无法在 PlayStore 上发布该应用程序:(,也就是说我只尝试发布完整的应用程序,但是一个应用程序仅显示通知可能会通过过滤器。