Android编程实现GPS位置获取的方法
程序员文章站
2022-04-13 22:49:41
本文实例讲述了android编程实现gps位置获取的方法。分享给大家供大家参考,具体如下:
public class gpsinfoservice {
pr...
本文实例讲述了android编程实现gps位置获取的方法。分享给大家供大家参考,具体如下:
public class gpsinfoservice { private static gpsinfoservice minstance; private locationmanager locationmanager;//定位服务 private gpsinfoservice(context context) { // todo auto-generated constructor stub locationmanager = (locationmanager) context.getsystemservice(context.location_service); } public static gpsinfoservice getinstance(context context){ if(minstance == null){ minstance = new gpsinfoservice(context); } return minstance; } //注册定位监听 public void registenerlocationchangelistener(){ //得到所有的定位服务 // list<string> providers = locationmanager.getallproviders(); // for(string provider:providers){ // log.i("i", provider); // } //查询条件 criteria criteria = new criteria(); //定位的精准度 criteria.setaccuracy(criteria.accuracy_fine); //海拔信息是否关注 criteria.setaltituderequired(false); //对周围的事情是否进行关心 criteria.setbearingrequired(false); //是否支持收费的查询 criteria.setcostallowed(true); //是否耗电 criteria.setpowerrequirement(criteria.power_low); //对速度是否关注 criteria.setspeedrequired(false); //得到最好的定位方式 string provider = locationmanager.getbestprovider(criteria, true); //注册监听 locationmanager.requestlocationupdates(provider, 60000, 0, getlistener()); } //取消监听 public void unregisterlocationchangelistener(){ locationmanager.removeupdates(getlistener()); } private mylocationlistener listener; //得到定位的监听器 private mylocationlistener getlistener(){ if(listener == null){ listener = new mylocationlistener(); } return listener; } //得到上个地理位置 public string getlastlocation(){ return sp.getstring("last_location", ""); } private final class mylocationlistener implements locationlistener{ //位置的改变 public void onlocationchanged(location location) { // todo auto-generated method stub double latitude = location.getlatitude();//维度 double longitude = location.getlongitude();//经度 string last_location = "jingdu: " + longitude + ",weidu:" + latitude; editor editor = sp.edit(); editor.putstring("last_location", last_location); editor.commit(); } //gps卫星有一个没有找到 public void onstatuschanged(string provider, int status, bundle extras) { // todo auto-generated method stub } //某个设置被打开 public void onproviderenabled(string provider) { // todo auto-generated method stub } //某个设置被关闭 public void onproviderdisabled(string provider) { // todo auto-generated method stub } } }
更多关于android相关内容感兴趣的读者可查看本站专题:《android控件用法总结》、《android视图view技巧总结》、《android操作json格式数据技巧总结》、《android开发入门与进阶教程》及《android资源操作技巧汇总》
希望本文所述对大家android程序设计有所帮助。