远程擦除功能12/29

10.1 功能需求与解决思路。

10.1.1 针对客户端远程擦除功能,对于一些不同的手机厂商,有自己的云方案完成远程擦除功能。也可以在自己的管理后台或云平台给与客户端指令完成擦除功能。

10.1.2 解决思路:客户端与im通信是以xmpp方式进行通信。(xmppsdk)龙哥首先让我去看AckListener

当初以为的是发来的消息类型是NORMAL所以一直在ackListener中去调试(服务器还没做好的情况下,实则发送的是CHAT类型的,故在ChatListener中处理)

以上是负责接收的地方,而客户端需要做的是对来的消息进行识别,并进行相应的擦除操作。在这里应为xmppsdk包是主包的一个lib,所以这里想到通过发送静态广播的方式将擦除指令发送的主包然后进行相应的擦除。

擦除分为两块,一是本地数据库,二是缓存。这里还未研究透彻,先不做说明。

本地进行擦除的时候,还有一些小需求和bug还没有完善,比如说弹出dialog提示用户正在擦除、用户并未完全退出(只是跳转到登录界面页面)、回执给服务器wipecode的时候比较随意,未加更多的约束(没有判断是否擦除成功)、离线擦除、通讯录无法擦除干净等等。

2018/1/3更新问题。   只剩最后一个未加更多的约束(没有判断是否擦除成功)

10.2  与im和服务端连通的时候。

根据文档固定好格式即可,添加字段、结点参照10.3.

10.3 包依赖的adb命令gradlew sourceJar。

把Smack包修改好,如加字段、xml上加结点——>在adb调用gradlew sourceJar  打包成jar

然后到project ——>jar中把编译好的包复制出来  ——>再复制进项目 ——>project structure——>添加依赖 ——>build  解决

 ps:配置android环境变量    我的电脑右键——>高级、环境变量——>新建ANDROID_HOME,值为sdk根目录——>path里值为platform-tools和tools的目录。参考http://blog.csdn.net/meetmeya/article/details/6595636上面的文章提到的ANROID_SDK_HOME应该改为ANDROID_HOME(巨鸡儿坑)。

10.4 总结与反思

工作半年以来,第一次独立完成了一个新功能的开发,很多东西你弄明白了觉得非常简单(也许事实上它确实很简单),但机制原理我认为是最重要的一环。半年来的一些情绪波动,不耐心看代码的毛病有所改变,但还是存在。今天是2017年最后一个工作日,基本完成了这个功能的开发,后续的元旦回来解决。重要的不是做了多少,而是心理的满足,不是自欺欺人的满足。庆幸自己在喜欢的行业做着喜欢的事情         ——2017.12.29 

posted @ 2017-12-29 15:51  anthonyJ  阅读(510)  评论(0编辑  收藏  举报