手机跟踪程序“手机去哪儿了”
来源:互联网 发布:java lambda表达式句法 编辑:程序博客网 时间:2024/04/27 16:13
前言
本程序原是作者自用的一款手机防盗应用,朋友看到后觉得不错也希望安装,本来没打算发布,但是看了最近令人心痛的MH370事件后,感觉市面上缺少一款维系亲人牵挂的软件。应微软严苛的隐私审核要求,我将程序进行了隐私改造(被退回了8次,不过相信在这么严格的审查下,用户用的也会放心些吧),最终诞生了这款《手机去哪儿了》这款软件。
本篇意在于简单介绍软件功能,功能分析以及实现功能部分代码,以及提交应用通过严苛审核的一些心得。
希望你爱的人与爱你的人一生平安。
功能简介
《手机去哪儿了》是一款手机跟踪软件,在手机空闲时间内间隔地上传手机位置定位信息到指定邮箱。
应用下载地址:点击下载
屏幕截图
(图1) (图2)
(美工做得不好,见谅)
使用说明
首先点击图1下方的设置按钮,进入图2,为方便新手,这里统一注释一下:
1、SMTP服务器:The Simple Mail Transfer Protocol (SMTP) server,即简单邮件服务器,大家知道是邮件服务商提供用于发邮件的服务器就好了,一般在邮箱的首页都可以找得到;如,
网易163:smtp.163.com
新浪:smtp.sina.com
2、登录用户:此处填写你注册的邮箱账号(有人竟然去填微博账号,真看不懂),只是用户名(一般是@前面部分),不是完整的邮箱地址
3、登录密码:密码
4、使用邮箱:这里填写完整的邮箱地址
5、仅WIFI发送:软件通过两种网络发送,手机蜂巢网和WIFI,因为蜂巢网络会产生流量费用(做了优化流量很小,一张图片的流量够发五六千次了),如果不想花钱可以钩上;
6、定位服务开关:微软说一定要有,不然不许发布,用途是开关本地定位服务;
7、使用地图:邮件中将使用表示手机位置的地图链接,这里因为考虑到后台电量问题,考虑到让手机续航时间延长,没有使用耗电量多几倍的精准定位,而且网页地图和手机地图本身存在误差,所以有时相差较远,但这样对于救援力量来说应该足够了;
8、邮件测试:正确填写以上信息后,可以测试邮件是否能够正常送达,这里强调一下考虑到SSL需要稳定的网络、且产生更多的无用流量的关系,不支持SSL邮箱,如QQ邮箱
正常送达截图
这些准备完成后,我们回到图一,点击运行按钮,这样就会在后台运行发信系统,空闲时将手机的当前位置上传自邮箱了。
开发相关
希望多一些公益性的软件,在此小结下本软件有几个要点:
1、如何自动发送邮件,微软发布的开发包本身只带有邮件软件外链接,如果使用自带的类库,除非我们能在将邮件内容传过去的同时捕获发送程序的句柄,不然无法操作自动发送,但是WP8是个封闭系统,进程间的操作除了几个允许的调用,简直就是禁止的,所以这条路行不通,我们只能做的是重写邮件协议;
2、应用后台程序,这个无疑是限制得比较死的东西,特别是后台对互联网的访问这块,所以要上传数据要花些功夫;说到网络限制,这里着重说下网络回环,大家都知道,有些服务器上装备双网卡,当网络访问的时候,就会发生回环,一般的解决办法就是设置路由表。然而移动设备的环境复杂度要远大于有线的宽带,举例如下图:
当移动设备从A点移动到B点,我们其实要完成从A的网络到B的网络转换,而中间的范围C就是A、B信号强度不相伯仲的地段,这样的情况也很容易造成回环,因此,持续连接的平滑网络转换是个难点。
3、大多数软件是申明全局的Geoposition对象,StatusChange 和 PositionChange来获取位置,然而我们考虑到对于某些无法移动的受助者的情况,靠位置的改变来确认位置信息就显得不靠谱,而且不断的监控位置的改变会消耗大量的电力;
4、考虑到软件的适用范围,设计支持4种语言,之前这方面没注意,到后边才补救造成多做了许多不必要的工作,这点后边会统一说一下。
功能实现
语言包规划
简单邮件协议
- 手机跟踪程序“手机去哪儿了”
- 我们开发的手机拍照应用"去哪儿"上线了
- 我们用过的手机和电脑都去哪儿了?
- 时间去哪儿了
- 嗷嗷去哪儿了
- 内存去哪儿了?
- 时间去哪儿了
- 伦理道德都哪儿去了?
- _syscall*宏哪儿去了?
- RCC_APB2Periph_ALL 哪儿里去了?
- 我都去哪儿了
- 时间都去哪儿了
- 时间都去哪儿了
- 沉浸感去哪儿了?
- 鞋子服装去哪儿了?
- 大小都去哪儿了
- 时间都去哪儿了
- 时间都去哪儿了
- js的精确整数最大为:Math.pow(2,53)-1 =9007199254740991.
- 生命中的平等
- hdu 1548 A strange lift
- 部署windows服务
- z-index在css中用法
- 手机跟踪程序“手机去哪儿了”
- WEB开发部分理论
- Oracle 生成流水号
- 如果……
- Java学习记录(一):Java中继承与静态static、非静态、构造方法等的初始化顺序
- Android Build System详解<二>--APK Build
- 《黑马程序员》 接口之工厂设计模式
- 简单的POI导出JSP页面表格数据到excel
- Android 4.4 AMS 学习笔记(一)