欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android实现手机定位的案例代码

程序员文章站 2022-04-11 08:53:31
android手机定位案例代码 代码如下: package com.xuliugen.gpsdemo; import com.itheima.gpsdemo....

android手机定位案例代码

代码如下:

package com.xuliugen.gpsdemo;
import com.itheima.gpsdemo.r;
import android.app.activity;
import android.location.criteria;
import android.location.location;
import android.location.locationlistener;
import android.location.locationmanager;
import android.os.bundle;
import android.widget.textview;
/**
 * 手机定位程序代码
 * @author xuliugen
 */
public class mainactivity extends activity {
  // 用到位置服务
  private locationmanager lm;
  private mylocationlistener listener;
  @override
  protected void oncreate(bundle savedinstancestate) {
    super.oncreate(savedinstancestate);
    setcontentview(r.layout.activity_main);
    lm = (locationmanager) getsystemservice(location_service);
    // 获得定位的方式
    // list<string> provider = lm.getallproviders();
    // for(string l: provider){
    // system.out.println(l);
    // }
    listener = new mylocationlistener();
    // 注册监听位置服务
    // 给位置提供者设置条件
    criteria criteria = new criteria();
    criteria.setaccuracy(criteria.accuracy_fine);
    // 设置参数细化:
    // criteria.setaccuracy(criteria.accuracy_fine);//设置为最大精度
    // criteria.setaltituderequired(false);//不要求海拔信息
    // criteria.setbearingrequired(false);//不要求方位信息
    // criteria.setcostallowed(true);//是否允许付费
    // criteria.setpowerrequirement(criteria.power_low);//对电量的要求
    string proveder = lm.getbestprovider(criteria, true);
    lm.requestlocationupdates(proveder, 0, 0, listener);
  }
  @override
  protected void ondestroy() {
    // todo auto-generated method stub
    super.ondestroy();
    // 取消监听位置服务
    lm.removeupdates(listener);
    listener = null;
  }
  class mylocationlistener implements locationlistener {
    /**
     * 当位置改变的时候回调
     */
    public void onlocationchanged(location location) {
      string longitude = "经度:" + location.getlongitude();
      string latitude = "纬度:" + location.getlatitude();
      string accuracy = "精确度:" + location.getaccuracy();
      textview textview = new textview(mainactivity.this);
      textview.settext(longitude + "\n" + latitude + "\n" + accuracy);
      setcontentview(textview);
    }
    /**
     * 当状态发生改变的时候回调 开启--关闭 ;关闭--开启
     */
    public void onstatuschanged(string provider, int status, bundle extras) {
    }
    /**
     * 某一个位置提供者可以使用了
     */
    public void onproviderenabled(string provider) {
    }
    /**
     * 某一个位置提供者不可以使用了
     */
    public void onproviderdisabled(string provider) {
    }
  }
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接