6

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

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

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

有人可以指点我一个在 Android Auto 平台上提供视觉反馈或祝酒的例子吗?

4

1 回答 1

0

你不能。

如果您查看以下问题:Develop an Android Auto custom app I have shared a 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 上发布该应用程序 :( 话虽如此,我只尝试发布完整的应用程序,但一个应用程序仅显示通知可能会通过过滤器。

于 2017-11-28T18:03:31.740 回答