Android FindMyPhone功能模块的实现
类似iPhone手机上面“查找我的iPhone”
1. 手机定位
需要考虑到国内和国外,国内使用百度地图,国外使用google地图,两种地图,属于不同的坐标系。
手机这边为了避免不同坐标系的问题,直接使用国际标准(WGS84),即:通过手机设备的GPS和网络network两种定位方式得到经纬度。
不同坐标系转化的问题,交给服务器伤头脑吧,网友有提供方法:http://blog.csdn.net/ma969070578/article/details/41013547
根据百度定位的sdk相关文档知道,它定位实现的方式考虑到GPS、WIFI和基站,方案更加成熟、完善和准确。
基站定位的实现方式是得到周围的三个基站信息(基站的lac cid 、信号强度等),计算出手机设备位于三角形的哪一个点。太复杂了,暂时不考虑这种实现方式。
当然也可以直接使用百度的sdk来完整定位功能,但是被排除掉了,因为baidu定位给出的坐标值属于百度自己的坐标系。后面在考虑使用不同地图显示的时候,就需要考虑各个坐标系之间的转化问题。
虽然网上有网友提供各个坐标系之间的转化工具类,但是其它资料上说,该各个坐标系的偏移算法都是保密的,这里很怀疑这个工具类的准确性。也简单测试了一下,有误差,不过误差不大。
通过百度定位SDK,暂时不再考虑范围。
2. 定时上传手机的经纬度
建立一个定时器,准备用alarmManager来实现。时间频率计划三分钟。
3.通过百度推送接受来自服务器的操作指令
将百度推送的SDK集成到项目中,可以完成用户在服务器网页上对手机发送的操作指令。
4.判断该经纬度是否处于国外
网上有一位网友,很牛逼的给出了方案:http://www.cnblogs.com/Aimeast/archive/2012/08/09/2629614.html
觉得使用第二种比较好一点,当然这一步的判断是在服务器上执行的。
还有另外一种方法:通过百度提供的反地理编码功能,其中可以得到country的值,判断是否==中国
5.保证后台一直处于运行状态
监听开机和网络状态发生变化的广播,当接收到这两个广播的时候,调用启动service的方法,已保证服务一直处于启动状态
防止用户手动的在设置中关闭该服务,计划请系统组的同事帮忙,将其隐藏。不确定是否能够做。
6.处理来自服务器的指令
指令的信息来自服务器的推送。
根据提前商定好的指令标识,设定具体的操作
其中响铃,可以自己实现、解锁、锁定和抹除所有数据,就需要系统组的同事协助。
Android FindMyPhone功能模块的实现的更多相关文章
- [译]:Xamarin.Android平台功能——位置服务
返回索引目录 原文链接:Location Services. 译文链接:Xamarin.Android平台功能--位置服务 本部分介绍位置服务以及与如何使用位置提供商服务 Location Servi ...
- Android定位功能
不说废话,直接说说实现android定位有关的API吧. 这些API都在android.location包下,一共有三个接口和八个类.它们配合使用即可实现定位功能. 三个接口: GpsStatus.L ...
- Android定位功能(二)
在前文Android定位功能(一)中,已经大致介绍了一下在Android平台中,和定位功能相关的类,并举例获取了位置信息.但是前文是基于Criteria定制了一个标准,通过getBestProvide ...
- CTO也糊涂的常用术语:功能模块、业务架构、用户需求、文档……
功能模块.业务架构.需求分析.用户需求.系统分析.功能设计.详细设计.文档.业务.技术--很多被随口使用的名词,其实是含糊甚至错误的. 到底含糊在哪里,错误在哪里,不仅仅是新手软件开发人员糊涂,许多入 ...
- 爱了,字节跳动大神最佳整理:582页Android NDK七大模块学习宝典,理论与实践
前言 时至今日,短视频App可谓是如日中天,一片兴兴向荣.随着短视频的兴起,音视频开发也越来越受到重视,而且薪资水涨船高,以一线城市为例,音视频工程开发的薪资比Android应用层开发高出40%. 但 ...
- iOS开发之功能模块--高仿Boss直聘的常用语的开发
首先上Boss直聘的功能界面截图,至于交互请读者现在Boss直聘去交互体验: 本人的公司项目要高仿Boss直聘的IM常用语的交互功能,居然花费了我前后17个小时完成,这回自己测试了很多遍,代码 ...
- 10天学会phpWeChat——第二天:hello world!我的第一个功能模块
今天我们开始进入<10天学会phpWeChat>系列教程的第二天:创建我的第一个hello world! 功能模块. 1.登录后台,进入 系统设置--自定义模块,如图: 自定义模块参数说明 ...
- ABAP绘图功能模块概观(转)
ABAP Graphics FM OverviewABAP绘图功能模块概观 此处仅将功能模块及范例程序列出(若要列出详细参数篇幅过大) 2 Main Graphics Demo Program: GR ...
- Android表情功能
Android表情功能 标签(空格分隔): 未分类 转载自:android edittext插入表情(基于socket方式),并对文中不正确的内容进行整理和修正 [TOC] 涉及知识点: Androi ...
随机推荐
- ASP.NET上传文件的三种基本方法
ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法. 方法一:用Web控件FileUpload,上传到网站根目录. Test.aspx关 ...
- android studio 安装与环境搭建
转摘自:http://blog.csdn.net/zhanghefu/article/details/9286123 第一章 andriod studio 安装与环境搭建 一.Android St ...
- PHP学习笔记9-生成图片
用PHP代码在网页上生成图片 <?php /** * Created by PhpStorm. * User: Administrator * Date: 2015/6/29 * Time: 2 ...
- 如何正确的在java web配置数据池
在tomcat context.xml中配置数据 <Context reloadable="true"> <!-- Default set of monitore ...
- 隐藏APK在Launcher中的启动图标 android开发教程
隐藏APK在Launcher中的启动图标: APK的AndroidManifest.xml文件的主Activity中删除 intent-filter 中的 <category android:n ...
- Linux上MongoDB的安装与配置
长话短说,一共有两种方法.(我随便选了一个发行版Mint) 一.apt-get方法 官网上说的很清楚: http://docs.mongodb.org/manual/tutorial/install- ...
- Uva 1103 Ancient Messages
大致思路是DFS: 1. 每个图案所包含的白色连通块数量不一: Ankh : 1 ; Wedjat : 3 ; Djed : 5 ; Scarab : 4 ; Was : 0 ; Ak ...
- 数学之路(3)-机器学习(3)-机器学习算法-SVM[9]
我们应用SVM的非线性分类功能对手写数字进行识别,我们在这应用poly做为非线性核 svm = mlpy.LibSvm(svm_type='c_svc', kernel_type='poly',gam ...
- android 中的 ViewPager+ Fragment
android的Viewpager 的各种经常的用法,朋友问我要过,所以就稍微总结一下, ViewPager + Fragment 经常用到 代码是从 actionbarsherlock 中提取 ...
- Android图像篇
Android的渲染分为2D渲染和3D渲染两种,当中2D渲染的引擎为Skia.3D渲染的引擎是OpenGL ES.眼下.Android支持OpenGL ES1.0和OpenGL ES 2.0两种标准. ...