简介

HUAWEI HiCar是华为提供的人-车-家全场景智慧互联解决方案,HUAWEI HiCar将移动设备和汽车连接起来,将手机的应用和服务延展到汽车,实现手机为核心的全场景体验,为用户创造更佳的智慧出行体验。华为给手机应用提供了HiCar Kit开放能力,应用可以无感的使用汽车的共享设备资源和数据,方便手机上的应用接入支持HUAWEI HiCar。

您将会学到什么

通过本篇CodeLab,您将创建Demo Projrct,并将接入支持HUAWEI HiCar,创建和删除卡片。

硬件要求

软件要求

需要的知识点

实现Codelab的具体操作步骤,可以分为多个步骤来说明,每个步骤需要注意的以下几点。
1.集成SDK
在该页面下载SDK并将其解压之后是:huawei-hicar-sdk.aar包。添加依赖库。将下载好的huawei-hicar-sdk.aar包复制至工程中的app/libs下。

2.添加appid信息

在自身应用AndroidManifest.xml中添加开发者联盟创建应用时生成的appid信息,name为" com.huawei.hms.client.appid ",value为"appid=***",***用自己注册的appid。

AndroidManifest.xml

<meta-data android:name="com.huawei.hms.client.appid" android:value="appid=应用自己的appid" />

3.配置跳转Activity

以地图类应用为例,在androidManifest.xml跳转Activity进行配置

AndroidManifest.xml

<intent-filter> <action android:name="huawei.intent.action.hicar.MAP" /> <category android:name="huawei.intent.category.hicar.MAP" /> </intent-filter>

4.创建卡片
CardMgr.java

public void createQjCard(int callCardId) { initResource(); CardBuilder messageCardBuilder = Card.createCardBuilder(mContext, 6, 0); messageCardBuilder.setTitle(callCardId, "情景智能" + callCardId) .setInfoImage(mContext.getDrawable(R.drawable.image_departure), ConstantEx.InfoImageStyle.ICON) .setMainText("[img]10:16[img]" + callCardId, R.drawable.icon_huawei_intelligent, R.drawable.icon_huawei_intelligent) .setSubText("[img]上海浦东T2出发12:15到达深圳宝安" + callCardId, R.drawable.icon_huawei_intelligent) .setOptText("东航MU5413[img]" + callCardId, R.drawable.icon_huawei_music) .setPendingIntent(getActivityIntente()); try { com.huawei.hicarsdk.builder.CardMgr.createCard(mContext, messageCardBuilder, new CreateCardBack() { @Override public void callBack(int i) { messageCardId = i; mCardIdList.add(i); } @Override public void remoteServiceNotRunning() { } }); } catch (RemoteServiceNotRunning remoteServiceNotRunning) { remoteServiceNotRunning.printStackTrace(); } }

5.注册广播接收器

HiCar在启动和结束时都会有广播或者是Service通知,应用需要根据提示完成业务接续。

AndroidManifest.xml

<receiver android:name="com.example.carddemo.MyRes" android:enabled="true" android:exported="true" android:permission="com.huawei.hicar.HICAR_PERMISSION"> <intent-filter> <action android:name="com.huawei.hicar.ACTION_HICAR_STARTED"/> </intent-filter> <intent-filter> <action android:name="com.huawei.hicar.ACTION_HICAR_STOPPED"/> </intent-filter> <intent-filter> <action android:name="com.huawei.hicar.ACTION_CARD_UPDATE"/> </intent-filter> <intent-filter> <action android:name="com.huawei.hicar.ACTION_CARD_REMOVE"/> </intent-filter> <intent-filter> <action android:name="com.huawei.hicar.ACTION_CARD_PAUSE"/> </intent-filter> <intent-filter> <action android:name="com.huawei.hicar.ACTION_CARD_RESUME"/> </intent-filter> </receiver>

我们已经接入了CarKit,接下来进行验证。连接车机环境,点击"添加情景智能卡片""添加音乐卡片""添加导航卡片",将出现下图所示内容:

您已完成了本篇Codelab学习:

关于HiCar更多信息,请阅读以下链接:

下载 source code

已复制代码