在Android AUTO DHU上显示Toast

时间:2017-11-07 15:29:45

标签: android android-toast android-auto

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

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

我已经搜索了互联网的高低,并且无法找到关于在汽车主机单元上显示祝酒词的任何内容,即使它已在Android自动设计指南中列出:: https://designguidelines.withgoogle.com/android-auto/android-auto/app-ui.html#app-ui-drawer

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

1 个答案:

答案 0 :(得分:0)

你不能。

如果你看一下以下问题: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会被忽略。

所有这一切的问题在于,由于它是一个非正式的jar并且公众无法使用SDK,因此您无法在PlayStore上发布应用程序:(,据说我只是尝试发布完整的应用程序,但只显示通知的应用程序可能会通过过滤器。