华为荣耀负一屏卡片接入 | 您所在的位置:网站首页 › 华为负一屏怎么关闭附近服务 › 华为荣耀负一屏卡片接入 |
前言
前段时间来了个需求,说是要将我们的应用在荣耀手机的负一屏以卡片(小组件)的形式展示,因为之前也没有弄过android原生的小组件(AppWidget)开发,没办法,面向百度开发吧,好在一顿操作之后,完美的实现了需求。总结一下。带几个问题去研究: 1.开发之前先搞明白荣耀卡片到底是什么东西?android 原生的小组件(appWidget)是什么东西?他俩有什么关系? 2.荣耀卡片是否如同其他三方的sdk一样,接入进去配置就可以? 3.要通过什么手段、方法去实现; AppWidget附上一篇通俗易懂的文章链接,说的比较详细了 链接: appWidget介绍 总结来说,这玩意就是一个存在于系统进程中、并且有界面的一个View,可以将他理解成一个activity,有自己的xml布局,我们想要实现的页面效果,当然也就是在这个xml中去实现的。 搞明白什么是小组件后,那荣耀的小卡片又是怎么回事—— 其实就是一个东西,荣耀并不提供sdk或者实现方式,我们需要先写一个android原生的AppWidget,然后去按照荣耀开放平台的文档做一些配置就ok了。 荣耀开放平台的配置搞明白到底我们要写一个什么东西之后,那就去看看荣耀的官方文档 链接: 荣耀开放平台 看完接入文档后,然后去管理中心添加一个应用,前面三个步骤就是输入一些自己的项目信息,这个按照要求填写就行, 填写完卡片信息后,就去发布测试吧,需要注意的是,荣耀卡片目前只在magicUI6.0以上的荣耀手机上显示,所以还需要一台满足条件的测试机。 发布测试之后,平台配置就算是完成了,然后就需要专心去实现我们原生小组件了 首先就是先new一个新的widget,会自动生成3个文件 文件创建之后,搭建我们自己的小组件界面,然后绑定数据即可: 详细说明一下MyAppWidgetProvider的执行流程 MyAppWidgetProvider有自己的声明周期方法,最重要的就是onReceive() 和 onUpdate(), onReceive() 在接受到广播action时会被调用,同时他也会在底层调用onUpdate() onUpdate() 在第一次添加小组件时就会被调用,每次调用appWidgetManager.update时都会被调用 这个地方很关键 需要自己仔细想一下: 我们项目中的业务逻辑,一般就是第一次添加小组件时,需要刷新小组件界面上的数据,然后就是在app中,用户操作事件时,需要同步数据给小组件,那么在这两个方法中,我们都可以完成了。需要重点说明一下:小组件接收app发过来的数据,是通过这个action发过来的,就是在数据改变的地方发送一个广播,onReceive()中就一定会接受到。 |
CopyRight 2018-2019 实验室设备网 版权所有 |