[原创] Android Automotive 车载应用对驾驶模式(Safe Drive Mode)适配的几种方法

前言

最近在Android Automotive 上遇到的一些问题,有好几个都跟Android 车载操作系统上应用的驾驶模式有关,国内这方面的资料很少,自己在这里总结一下相关的知识,主要包含下面几个方面:
1. Android Automotive 和 Android Auto的区别
2. Android Automotive 的驾驶模式介绍
3. Android Automotive 实现驾驶模式的几种实现方式和代码示例,以及实现效果

主要是还是想总结一下Android 车载应用对Automotive 驾驶模式(Drive Mode)适配的几种方式。

Enjoy !

在这里插入图片描述

开发环境

Android Studio 版本4.1.2

1. Android Automotive 和 Android Auto的区别

Android Auto:

  1. Android Auto是一个专门为驾驶环境而设计的Android端App
  • 可以用来将Android设备上的部分功能,通过数据线映射到汽车的屏幕上。当时做Android Auto主打的是安全性,为了避免用户在驾驶过程中拿起手机,谷歌为Android Auto增加了Google Assistant,也就是在驾驶环境中使用语音交互,使得用户可以再不改变自身物理姿势的情况下实现一些手机app的操作。
  • 缺点是通过数据线将手机应用映射到车机上,应用到底还是在手机上运行的,以手机为中心,这样汽车本身相关数据,比如车速,GPS,传感器,行驶状态这些数据无法同步到手机上。
  1. Android Automotive 是可以再车载硬件上运行的操作系统和开源平台
    我们最常见的Android平台试运行在手机或者平板上的,和我们常见的Android 操作系统相比,Android Automotive具有相同的代码库,而且专门增加了对汽车特定的功能和技术支撑,主要包含下面几个方面:
  • Car App:包括OEM预装的,和第三方开发并且通过车载应用商店下载到车机上的app
  • Car API:OEM车厂提供给汽车App特有的接口,包括仪表盘相关的API,车辆硬件(座舱,通风等)的相关API,多媒体,导航,车载系统设置界面和车辆传感器相关的API
  • Car Service:Car Service是一个系统service,提供了和车相关的一系列的服务。
  • Vehicle Network Service:OEM厂商的网络服务
  • Vehicle HAL:汽车的硬件抽象层描述

Android Auto在车机上显示的其实是手机端的数据,Android Automotive则要考虑和手机端app的数据和账号同步的问题*

2. Android Automotive 的驾驶模式介绍

前面提到谷歌在2014年I/O 大会上推出Android Auto的初衷是更好地保障驾驶安全,Android Automotive 也增加了驾驶模式(Drive Mode),旨在帮助汽车OEM厂商从系统层面对有可能造成驾驶员分心的应用进行管理。
在驾驶模式下,Android Automotive会对Driving Distraction提出一系列的建议。OEM厂商也可以要求有可能造成驾驶员分心的 Activity 或者 Fragment 界面,在Manifest File中将自己注册成Distraction Optimized,比如需要驾驶员操作的登陆界面,扫码界面,切换歌曲,或者视频播放界面,游戏界面。而Android Automotive 则会在驾驶模式的时候,主动对标记为Distraction Optimized的界面进行限制。

3. Android Automotive 实现驾驶模式的几种实现方式和代码示例

方式一 .在Manifest文件中,使用在元数据meta-data对有可能造成分心驾驶的界面进行标记

Android Automotive 会把像下面这个使用元数据把distractionOptimized标记的活动或Fragment 标识为需要优化的界面,并且在驾驶模式时禁用这些界面,或者在当前Activity之上,增加UI 层级更高的提示框,从而避免在驾驶过程中这些界面造成用户分心。

        <activity android:name
  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值