【HMS Core挑战赛第4期】基于HMS Core情景感知开发的静音助手
为了守护世界的和平,为了避免无谓的纷争,为了会议室里不成为领导怒目的对象,为了电影院里不成为众人反感的观众,请试用这款为了高素质人群打造的静音助手,让你摆脱尴尬的处境。
此应用使用Kotlin语言基于Android平台开发,集成了华为的HMS Core组件,主要功能指定位置指定时间将手机静音(听起来毫无用处毫无创意= =!)
添加一个静音记录

创建应用场景,选择时间地点保存,即可添加一个感知事件,当情景感知服务到了指定地点和指定时间会将手机静音。

这个真的是通过逻辑控制将手机铃声静音的>_<
其它还实现了静音记录的增删改查操作,通过数据库实现

华为的情景感知服务的集成使用比较简单,参照文档可以轻松实现。除了创建对应的Barrier不同以外,Builder的创建,request的添加,执行和删除的代码都基本一样,只是具体要处理的状态可能有所区别。在开发过程中主要的工作量都在其它的业务实现,情景感知遇见的问题比较少,可能主要是因为实现的功能比较简单。
开发中遇见的问题
- 添加多个情景感知事件,处理起来比较麻烦,如果要是能够提供一个接口可以处理多个事件会更好一些,就像Android开发中申请多个权限,可以在回调中获取到每个权限的状态,这样逻辑会更好处理一些。
- 应用退到后台,可以继续响应事件,但是应用被杀死了,我测试的情况是没有触发对应的回调,不确定这里是不是自己哪里处理有问题。
- 我很好奇如果每个应用都集成这个服务,会是怎样的场景,会不会有冲突事件发生。
- 说一个跟情景感知无关的,希望HMS Core中的地图服务可以尽快支持中国地图(集成之后发现不能在中国使用,无奈使用了高德地图;而且我发现一个很有意思的现象,我在集成高德地图的时候,发现HMS Core 地图服务中的类名和高德的基本一致,高德有的华为也有)。
最后,代码基于Kotlin语言开发,用到的组件都是Android Jetpack Component中的组件(ViewModel, LiveData,Room,Databinding)等
4
2
2
浏览896 编辑于2021-12-22 07:41未知归属地
全部评论
最多点赞
最新发布
最早发布
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
- 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
- 如您发布的内容为转载内容,请注明内容来源。
我要发帖子
了解社区公约,与您携手共创和谐专业的开发者社区。







































苏公安网备 32011402010933号