手机防盗之获取手机经纬度(Android)
获取手机经纬度有gps , network , 基站 三种方式,我们可以根据定位的条件,获取一个最好的定位方式。然后将获取到经纬度信息发送到指定的手机号码中。
/*
* 单态只允许存在一个实例.
* 获取手机的gps信息
*/
public class GPSInfoService {
private Context context;
private LocationManager manager;
SharedPreferences sp ;
//私有化构造方法
private GPSInfoService(Context context){
this.context= context;
manager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);
}
private static GPSInfoService mGPSService;
public synchronized static GPSInfoService getInstance(Context context){
if(mGPSService==null)
mGPSService = new GPSInfoService(context);
return mGPSService;
}
/*
* 当前你的手机 所支持的定位方式获取出来
* 有多种定位方式gps network ,基站, passive
* 可以根据定位的条件,获取 一个最好的定位方式
*/
public void registerLocationUpdates(){
Criteria criteria = new Criteria();
// 设置定位的精度
criteria.setAccuracy(Criteria.ACCURACY_COARSE); //获取大体的位置
criteria.setAltitudeRequired(false); // 海拔信息
criteria.setCostAllowed(true); //允许产生费用
criteria.setPowerRequirement(Criteria.POWER_LOW); //低功耗
//获取一个最符合查询条件的位置提供者
String provider =manager.getBestProvider(criteria, true);
// 位置改变就会调用Linster的监听器 获取经度纬度
manager.requestLocationUpdates(provider, 60000, 0, getLinster());
}
public void cancleLocationUpdates(){
manager.removeUpdates(getLinster());
}
private static MyGPSLinster myGPSLinser;
private MyGPSLinster getLinster(){
if(myGPSLinser==null)
myGPSLinser = new MyGPSLinster();
return myGPSLinser;
}
private class MyGPSLinster implements LocationListener{
// 用户位置改变的时候 的回调方法
public void onLocationChanged(Location location) {
//获取到用户的纬度
double latitude= location.getLatitude();
//获取到用户的经度
double longitude = location.getLongitude();
//进行封装写入到文件中
String locationstr = "jing du "+ longitude + " weidu :"+latitude;
Editor editor = sp.edit();
editor.putString("lastlocation", locationstr);
editor.commit();
}
// 状态改变
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
//gps ,打开
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
//关闭
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
}
/**
* 获取手机的最后一次位置
* @return
*/
public String getLastPosition(){
return sp.getString("lastlocation", "");
}
}
获取短信的经纬度并将获取到的经纬度发送到指定的号码上:
//获取当前手机的经纬度.
GPSInfoService.getInstance(context).registerLocationUpdates();
//把经纬度的信息发送到安全号码,获取到短信发送器,将短信发送到指定的号码
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage("15287978798", null, GPSInfoService.getInstance(context).getLastPosition() , null, null);
手机防盗之获取手机经纬度(Android)的更多相关文章
- iOS 整理笔记 获取手机信息(UIDevice、NSBundle、NSLocale)
/* iOS的APP的应用开发的过程中,有时为了bug跟踪或者获取用反馈的需要自动收集用户设备.系统信息.应用信息等等,这些信息方便开发者诊断问题,当然这些信息是用户的非隐私信息,是通过开发ap ...
- PHP获取手机相关信息
该PHP操作类实现获取手机号手机头信息,取UA,取得手机类型,判断是否是opera,判断是否是m3gate,取得HA,取得手机IP 代码如下: <?php /** * @desc 手机操作类 获 ...
- vue 项目,获取手机验证码和图形验证码(iviewUI框架)
1.编辑获取验证码模块 <Form ref="phoneFormItem" :model="phoneFormItem" :label-width=&qu ...
- Android项目实战_手机安全卫士手机防盗界面
#安全卫士手机防盗# ###1.Activity的任务栈 1.类似一个木桶,每层只能放一个木块,我们放入木块和取出木块的时候只能从最上面开始操作 ###2.Android中的坐标系 { // 获取 ...
- android获取手机信息大全
IMEI号,IESI号,手机型号: private void getInfo() { TelephonyManager mTm = (TelephonyManager) getSystemServic ...
- Android获取手机制作商,系统版本等
在开发中 我们有时候会需要获取当前手机的系统版本来进行判断,或者需要获取一些当前手机的硬件信息. android.os.Build类中.包括了这样的一些信息.我们可以直接调用 而不需要添加任何的权限和 ...
- Android获取手机设备识别码(IMEI)和手机号码
最近看了下获取手机设备ID和手机信息以及SIM的信息例子,主要还是借鉴别人的,现在自己写一下,算是巩固加深了,也希望能给大家一个参考 必要的条件还是一部真机,SIM卡或者UIM卡. 首先,在Andro ...
- 【风马一族_Android】Android 从命令行界面获取手机信息
Android 从命令行界面获取手机信息 1: cmd 打开命令行界面 2:adb devices 获取与电脑相连的设备,例如:模拟器.真机(手机) (右击“标记”,选择设备名称,点击“Ctrl+ ...
随机推荐
- 将 Shiro 作为应用的权限基础 二:shiro 认证
认证就是验证用户身份的过程.在认证过程中,用户需要提交实体信息(Principals)和凭据信息(Credentials)以检验用户是否合法.最常见的“实体/凭证”组合便是“用户名/密码”组合. 一. ...
- uni - 介绍
uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS.Android.H5.小程序等多个平台 优点:基于vue.mpvue.微信小程序 微信小程序AP ...
- E信通项目总结[转]
http://ucd.leju.com/index.php/ouba2/
- Java总结:Java 流(Stream)、文件(File)和IO
更新时间:2018-1-7 12:27:21 更多请查看在线文集:http://android.52fhy.com/java/index.html java.io 包几乎包含了所有操作输入.输出需要的 ...
- Linux必看书籍
<鸟哥的Linux私房菜:基础学习篇(第三版)> <鸟哥的Linux私房菜——服务器架设篇> <高性能Linux服务器构建实战> <实战Nginx:取代 Ap ...
- JSONP简单例子
jsonp的原理很简单,主要利用了HTML中所有有src的属性的标签可以跨域的特点,利用script的src进行get请求,后端输出一段js代码的字符串在script中便会执行. 当然后端输出普通的j ...
- SIT与UAT的分别
在企业级软件的测试过程中,经常会划分为三个阶段——单元测试,SIT和UAT,如果开发人员足够,通常还会在SIT之前引入代码审查机制(Code Review)来保证软件符合客户需求且流程正确.下面简单介 ...
- UI复习练习_优酷布局
还记得前一周,细致看了一下我自己的代码,特意看了下代码规范,一个好的代码习惯就应该慢慢增加自己寻常练习中. 看看UI吧 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5 ...
- MySQL存储过程中的3种循环【转载】
在MySQL存储过程的语句中有三个标准的循环方式:WHILE循环,LOOP循环以及REPEAT循环.还有一种非标准的循环方式:GOTO,不过这种循环方式最好别用,很容易引起程序的混乱,在这里就不错具体 ...
- java常见错误--Access restriction: The type BASE64Encoder
Access restriction: The type BASE64Encoder is not accessible due to restrict 在Eclipse中编写Java代码时,用到了B ...