请选择 进入手机版 | 继续访问电脑版

『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 160|回复: 6

[基础教程] 关于贝壳家APP保活

[复制链接]

15

主题

143

帖子

1201

积分

论坛技术达人

积分
1201
金钱
1043
HASS币
40
发表于 2019-11-12 15:26:45 | 显示全部楼层 |阅读模式
ic_launcher.png




从2018年5月开始开发iHass,直到现在的贝壳家v2.1.5,已经一年半了,但受限于移动平台的电量消耗,杀进程是众多后台服务程序员的噩梦,贝壳家在下列场景需要后台通讯:

1、地理位置上报,贝壳家设置的180s进行一次地理定位请求并进行上报,采用的时Alarm的方式来唤醒上报,在绝大部分手机上,在亮屏的情况下,没有问题,而在绝大部分手机上,在熄屏大约5min后,android系统将进入doze模式,停止上报;

2、状态通知:当home assistant的状态发生变化时,贝壳家在接收到变化(包含长连接和亮屏时主动拉取hass所有实体状态两种触发点)时,可以按照设定进行通知提醒;

3、语音控制:当设置了语音唤醒后,接收到“贝壳贝壳”或者“你好贝壳”的唤醒词后,将进入语音控制状态;

4、情景触发:支持地理位置触发、NFC触发、蓝牙触发、wifi触发,都需要后台进程进行扫描和感知;

5、桌面组件刷新:需要后台进程获取home assistant的更新信息然后刷新桌面小组件;

6、通知栏组件维持:当后台进程退出后,通知栏组件也将消失。

针对这些,这一年多时间一直在时断时续的和杀进程做斗争,目前,维持贝壳家活着的方案有如下,供各位看官选用:

1、添加到进程白名单,大部分手机都可以通过进入多任务界面后下拉贝壳家将其添加到白名单,从而躲避手动清理内存时被kill;

2、添加到受保护进程,一般可以通过各手机的手机管家、各种安全管理之类的系统自带软件将贝壳家加入到保护列表,尽可能避免被系统清理干掉;

3、添加到忽略电池优化(部分机型慎用,比如联想,会很费电),忽略电池优化后,部分手机能够保证在锁屏状态下放置贝壳家进入doze模式,并且每3分钟被唤醒一次,基本不会被杀掉了,但绝大部分机型设置了也是百搭;

4、添加通知栏组件,让贝壳家的后台进程变成前台服务,提高优先级,被kill的几率会小很多,并且基本没有电量副作用;

5、添加桌面小组件,和上一条一样的,会好一丢丢;

6、今天增加的功能:让贝壳家模拟你常用的第三方应用(比如淘宝、抖呀抖)创建桌面图标,然后把这些应用原本的图标藏起来,后续都通过点击模拟的桌面图标来启动第三方应用,会同时拉起贝壳家的后台服务,这个应该比较下下策,但也比较狠,哼。


另外,额外发布两个APK:

第一个是专门的后台上报地理位置服务:位置上报 (http://www.pgyer.com/hass2

它可以上报到gpslogger集成,也可以上报到附件的ihasslogger组件

上报到ihasslogger组件可以同时上报是否充电、是否亮屏、前台应用(可开关)、电量信息

另外ihasslogger可以通过tts组件播报实体的当前位置。 ihasslogger.zip (4.53 KB, 下载次数: 2)
回复

使用道具 举报

7

主题

193

帖子

1032

积分

金牌会员

Rank: 6Rank: 6

积分
1032
金钱
839
HASS币
0
发表于 2019-11-12 17:51:55 | 显示全部楼层
前排就坐,顶起!吾等菜鸟向大神学习!
回复

使用道具 举报

12

主题

282

帖子

1440

积分

金牌会员

Rank: 6Rank: 6

积分
1440
金钱
1158
HASS币
0
发表于 2019-11-12 22:48:26 | 显示全部楼层
感谢分享。
不过现在上海那边电信在封有DDNS+有WEB服务的宽带。。HA现在都不敢暴露出来了。。
回复

使用道具 举报

2

主题

153

帖子

522

积分

高级会员

Rank: 4

积分
522
金钱
369
HASS币
0
发表于 2019-11-13 09:54:04 | 显示全部楼层
这个APP一直都不知道怎么用
哪里有详细的教程可以借鉴下
回复

使用道具 举报

15

主题

143

帖子

1201

积分

论坛技术达人

积分
1201
金钱
1043
HASS币
40
 楼主| 发表于 2019-11-13 09:55:35 | 显示全部楼层
wfc1986 发表于 2019-11-13 09:54
这个APP一直都不知道怎么用
哪里有详细的教程可以借鉴下

前面有好几篇介绍,你可以搜索一下我的帖子,或者进群。
回复

使用道具 举报

15

主题

143

帖子

1201

积分

论坛技术达人

积分
1201
金钱
1043
HASS币
40
 楼主| 发表于 2019-11-13 09:57:20 | 显示全部楼层
sirakawa 发表于 2019-11-12 22:48
感谢分享。
不过现在上海那边电信在封有DDNS+有WEB服务的宽带。。HA现在都不敢暴露出来了。。 ...

为啥要封这个呢,不行就走内网穿透吧,有公网服务器搞一个ngrok即可。
回复

使用道具 举报

12

主题

282

帖子

1440

积分

金牌会员

Rank: 6Rank: 6

积分
1440
金钱
1158
HASS币
0
发表于 2019-11-14 20:21:09 | 显示全部楼层
yunsean 发表于 2019-11-13 09:57
为啥要封这个呢,不行就走内网穿透吧,有公网服务器搞一个ngrok即可。

不知道为啥~
ha少量数据内网穿透确实可以。
大量数据传输就还是连家里梯子了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2019-12-11 10:26 , Processed in 0.085791 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表