四个步骤:

1.添加权限

2.获取locationManager对象

3.获取locationProvider

4.绑定locationListener对象

首先在Manifest.xml中添加权限

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> //此为高精度--GPS定位选择

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>//此为精度一般--NetWork 定位可选上下2个

代码:

package com.example.location1;import android.location.Criteria;import android.location.Location;import android.location.LocationListener;import android.location.LocationManager;import android.os.Bundle;import android.app.Activity;import android.content.Context;import android.view.Menu;import android.view.View;import android.widget.Button;import android.widget.EditText;public class Loaction extends Activity {EditText et1;EditText et2;Button bt;LocationManager lm;LocationListener listener;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                et1 = (EditText) findViewById(R.id.et1);        et2 = (EditText) findViewById(R.id.et2);        bt = (Button) findViewById(R.id.bt);        bt.setText("绑定监听器");        bt.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {      //获得最适合的provider          Criteria cr = new Criteria();        //设置经度         cr.setAccuracy(Criteria.ACCURACY_FINE);        //是否需要提供海拔信息        cr.setAltitudeRequired(false);        //设置需要方向信息        cr.setBearingRequired(false);        //设置是否产生费用        cr.setCostAllowed(false);        //设置电量高低        cr.setPowerRequirement(Criteria.POWER_LOW);        //设置速度经度        cr.setSpeedRequired(false);lm = (LocationManager) Loaction.this.getSystemService(Context.LOCATION_SERVICE);//true 只在打开的provider中寻找 false 在所有的provider中寻找最合适的String provider = lm.getBestProvider(cr, false);System.out.println(provider);//---GPS 最合适的lm.requestLocationUpdates(provider, 0, 0, listener);}});              listener = new LocationListener() {@Overridepublic void onStatusChanged(String provider, int status, Bundle extras) {}@Overridepublic void onProviderEnabled(String provider) {// TODO Auto-generated method stub}@Overridepublic void onProviderDisabled(String provider) {// TODO Auto-generated method stub}@Overridepublic void onLocationChanged(Location location) {double lg = location.getLongitude();double la = location.getLatitude();et1.setText(lg+"");et2.setText(la+"");}};    }                @Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.main, menu);        return true;    }}

更多相关文章

  1. 运行android程序访问网络,出错,需要加上权限
  2. Android: 启动init.rc 中service的权限问题
  3. Android程序如何升级
  4. Android(安卓)ApiDemos示例解析(42):App->Service->Remote Servic
  5. Android(安卓)四种绑定监听事件的方式
  6. 拆解Google Play Services 4.4,猜想Google I/O 2014的新动向,Andro
  7. Android(安卓)Vibrator 的用法
  8. Android(安卓)后台截图
  9. android 中间件开发

随机推荐

  1. Android使用FtpServer开启FTP服务端
  2. Android中传递对象的三种方法的实现
  3. 分析Activity的View绑定过程
  4. Android中优雅的退出程序
  5. 【Android】获得系统语言和地区
  6. Android轻松实现多语言的方法示例
  7. Android(安卓)1.5 在eclipse中出现 Inter
  8. Android(安卓)— 使用 SharedPreferences
  9. 【Android】json格式详解
  10. Android——ImageView.ScaleType设置图解