手机防盗之获取手机经纬度

获取手机经纬度有 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);


 

您想快速达成您的目标和实现梦想吗?请加QQ:673220883 每天为您提供了大量励志,视频,销售,管理等-经典文章,免费学习。此QQ空间已改变了千万人的命运。陈安之和您一起开始您的梦想之旅!陈安之老师全国课程报名热线:131 6187 6870 

 

精彩分享: 如果你现在没有目标,对未来很迷茫、来看下

精彩分享: 俞洪敏:一辈子只做一件事 不要想太多 

精彩分享: 男人的这一百个秘密,我不说你一辈子也不可能知道!

精彩分享: 人临终前最遗憾的25件事,别让这些遗憾 变成你的遗憾

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傅荣康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值