共同学习,共同进步, 转载请注明出处。欢迎微信交流:sfssqs,申请注明"Android Car"字样

================= =========================

https://developer.android.com/traning/auto/start/index.xml

让我们一起来学习Android Auto

Android Auto继承自Android平台,服务汽车系统。手持设备需运行在Android5.0或更高的版本,当用户将它连接到兼容的车机上时,Auto提供的接口在汽车的中控屏幕与手持设备的应用交互。用户通过语音或者车内的诸如触摸屏、仪表按钮等方式与兼容的应用或服务互动。

Auto目前支持两种类型应用场景:

  • 音频类型,允许用户浏览和播放音乐和通过车内的mic说话。
  • 短信类型,接收信息通知,通过text-to-speech听消息,通过车内的mic回复信息。

开发者目前在手机、平板中运行的音频、消息类型应用,可以被改造成Auto的方式,而不必担心汽车硬件实现上的差异。为了能让app在车上运行,app的目标设备必须是Android5.0(API level21)或以上。manifest中还需要声明使用的汽车类型,如音频播放类型或者信息服务类型。

本文讲述了如果构建Auto应用,包括开发环境配置,基本环境要求等。

建立一个Auto工程

——————————

这部分描述了如何新建一个Auto类型的App或者修改现有的Android App来支持Auto使用。

准备工作

建立汽车应用之前,需要:

  • 新建或者更新app工程-Android 5.0(API level 21)提供了新的接口,实现了汽车音频播放和信息相关功能的兼容。为了能使用新接口,工程manifest中的targetSdkVersion要设置成Android 5.0(API level 21)或者更高。
  • 安装支持库 - 如果你正在建立汽车中messaging相关的应用,需要v4 support library中的NotificationCompat.CarExtender类。这个类允许建立与汽车设备兼容的通知。

声明汽车属性

App接入Auto功能被manifest设置和独立的XML配置文件控制。在添加Auto功能之前,先要定义Auto XML配置文件,并在manifest入口引用这个文件。

1. 定义Auto XML配置文件

XML放在目录(res/xml)。例如,扩展一个汽车上的音频APP,创建文件automotive_app_dec.xml放在工程的res/xml文件夹下。文件中包含以下元数据:

<automotiveApp>
<uses name=“media” />
</automotiveApp>

<uses>元素定义了App要使用的Auto属性。可以同时添加多个<uses>标签以便支持多个Auto属性。支持的属性有:

  • media-App使用Android框架的在汽车上播放音乐的API。如果想要在App中支持音频,设置这个值。
  • notification-在车机屏幕上显示消息通知,允许用户选择一条消息来读,也可以通过语音输入回复。如果想要支持消息类型的功能,设置这个值。

2. 添加manifest入口

在AndroidManifest.xml文件中对Auto XML配置文件的引用。在<application>元素下添加”com.google.android.gms.car.application”元数据并引用配置文件。要去掉.xml的文件后缀。

以下代码展示如何在manifest中添加饮用。

<application>

<meta-data android:name=“com.google.android.gms.car.application”
android:resource=“@xml/automotive_app_desc”/>
</application>

在App中添加Auto的功能

完成以上步骤,可以准备在App中添加Auto功能了。查阅更多Auto App的文档

  • 为汽车添加音频播放功能
  • 为汽车添加信息收发功能

重要:Google对分散驾驶员注意力的场景非常慎重。所以定义了一套设计规范,想要上架Google Play必须遵守。坚守设计规范的要求会大大减少App的重建和测试。更多信息请关注-Auto App Quality。

Android Auto开发之一《开始学习Auto 》的更多相关文章

  1. Android Camera开发:周期性循环自动聚焦auto focus挂掉原因分析(preview is not enabled)

    参考:Android Camera开发:扫描二维码,周期性循环自动聚焦auto focus挂掉原因分析(preview is not enabled) 最近做Android人脸识别时,camera在自 ...

  2. Android项目开发第四周学习总结

    Android项目开发实战第四周 在本周,我们进行了Android项目第四周的项目开发,在本周,我们对原有的项目进行改进,我们的想法是使项目在原有的基础上增加一些新的功能,使得txt阅读器可以更加先进 ...

  3. Android Auto开发初探

    一.Android Auto 概述 二.Android Auto 使用方法 四.Android Auto应用开发 五.Android Auto开发总结 一.Android Auto 概述 最近物联网是 ...

  4. [Android开发学iOS系列] Auto Layout

    [Android开发学iOS系列] Auto Layout 内容: 介绍什么是Auto Layout. 基本使用方法 在代码中写约束的方法 Auto Layout的原理 尺寸和优先级 Auto Lay ...

  5. Android开发新手学习总结(一)——使用Android Studio搭建Android集成开发环境

    [新手连载]一:使用Android Studio搭建Android集成开发环境http://bbs.itcast.cn/forum.php?mod=viewthread&tid=87055&a ...

  6. Android开发系列之学习路线图

    通过前面的3篇博客已经简单的介绍了Android开发的过程并写了一个简单的demo,了解了Android开发的环境以及一些背景知识. 接下来这篇博客不打算继续学习Android开发的细节,先停一下,明 ...

  7. Android应用开发学习之表格视图

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 本文我们来学习一个使用表格视图的程序,下图是该程序的运行效果: 该程序主Activity文件内容如下: packag ...

  8. Android开发学习总结(二)——使用Android Studio搭建Android集成开发环境

    有很长一段时间没有更新博客了,最近实在是太忙了,没有时间去总结,现在终于可以有时间去总结一些Android上面的东西了,很久以前写过这篇关于使用Android Studio搭建Android集成开发环 ...

  9. Android NDK开发及OpenCV初步学习笔记

    https://www.jianshu.com/p/c29bb20908da Android NDK开发及OpenCV初步学习笔记 Super_圣代 关注 2017.08.19 00:55* 字数 6 ...

  10. 2021年正确的Android逆向开发学习之路

    2021年正确的Android逆向开发学习之路 说明 文章首发于HURUWO的博客小站,本平台做同步备份发布.如有浏览或访问异常或者相关疑问可前往原博客下评论浏览. 原文链接 2021年正确的Andr ...

随机推荐

  1. Centos6.2设置静态ip和dns

    参考了如下文章:https://gist.github.com/fernandoaleman/2172388http://www.lifelinux.com/how-to-configure-stat ...

  2. [转]ASP.NET应用程序生命周期趣谈(五) IIS7瞎说

    Ps:建议初学者在阅读本文之前,先简要了解一下之前的几篇文章,以便于熟悉本文提到的一些关于IIS6的内容,方便理解.仅供参考. PS:为什么叫瞎说呢?我觉得自己理解的并不到位,只能是作为一个传声筒,希 ...

  3. freeswitch对接其它SIP设备

    这几天用到freeswitch对接其它设备方面的知识,这里整理下,也方便我以后查阅. 操作系统:debian8.5_x64 freeswitch 版本 : 1.6.8 一.freeswitch作为被叫 ...

  4. sql server 常用的扩展存储过程

    sql server 里面提供了丰富的系统存储过程来辅助我们管理数据库以及开发.今天分享介绍一些常用的数据库扩展存储过程 xp_cmdshell 这个大家都比较熟悉了,使用xp_cmdshell 可以 ...

  5. 基于jquery实现图片拖动和曲线拖放

    功能:图片的拖动.曲线的拖放和绘制 一. 准备工作 1. 点击此下载相关的文档 二. 在浏览器中运行 dragDrop.html 文件,即可看到效果 三. 效果图

  6. jmeter之连接mysql和SQL Server配置

    下载jdbc驱动 在使用jmeter做性能或自动化测试的时候,往往需要直接对数据库施加压力,或者某些参数只能从数据库获取,这时候就必须使用jmeter连接数据库. 1.下载对应的驱动包 mysql驱动 ...

  7. github的使用

    1.gitbub概念 github是一个基于git的代码托管平台,付费用户可以建私人仓库,免费用户用公共仓库,但是代码公开. 2.注册账户以及创建仓库 在github官网地址:https://gith ...

  8. html小技巧

    占位符 插入一个非间断空格.一般来说,无论你按多少次空格键,HTML也只会在单词之间显示一个空白间隔.当你需要插入多个空格时,请输入 或 代码.它们名为"空格占位符",你输入几个, ...

  9. linux网络编程tcp

    之前学习的时候笔记没有保存好,这次重新编写一个案例. 客户端实现程序代码: #include <string.h> #include <stdlib.h> #include & ...

  10. Ettercap几种好玩的姿势

    0x00 简单的arp欺骗   命令 ettercap -i 网卡 -Tq -M arp:remote /受害者ip/ /网关ip/ 以下是我欺骗192.168.1.102主机并模拟http-get请 ...