android > 获取当前位置
16lz
2021-01-26
阅读更多
HomeIndex.java
package basic.futao.ma;import java.io.IOException;import java.util.List;import java.util.Locale;import android.app.Activity;import android.content.Context;import android.location.Address;import android.location.Criteria;import android.location.Geocoder;import android.location.Location;import android.location.LocationManager;import android.os.Bundle;import android.util.Log;import location_map.futao.ma.R;public class HomeIndex extends Activity {/** Called when the activity is first created. */String TAG = "PhoneStatReceiver";Context Tcontext;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);Tcontext = HomeIndex.this;LocationManager loctionManager = (LocationManager) Tcontext.getSystemService(Context.LOCATION_SERVICE);Criteria criteria = new Criteria();criteria.setAccuracy(Criteria.ACCURACY_FINE);// 高精度criteria.setAltitudeRequired(false);// 不要求海拔criteria.setBearingRequired(false);// 不要求方位criteria.setCostAllowed(true);// 允许有花费criteria.setPowerRequirement(Criteria.POWER_LOW);// 低功耗// 从可用的位置提供器中,匹配以上标准的最佳提供器 String provider = loctionManager.getBestProvider(criteria, true); Location location = null; try { location = loctionManager.getLastKnownLocation(provider); } catch (Exception e) {// TODO: handle exception} if(location != null){//如果获得有效坐标 // 获得最后一次变化的位置 Double x = location.getLatitude();// 纬度 Double y = location.getLongitude();// 经度 Log.d("PhoneStatReceiver", x + "_" + y); // 根据坐标返回具体地址Geocoder geocoder;List addresses = null;String addressStr = "";// 最终地址geocoder = new Geocoder(Tcontext, Locale.getDefault());try {addresses = geocoder.getFromLocation(x, y, 1);if (!addresses.isEmpty()) {// 判断addresses是否为空//如果获得有效地理位置String address = addresses.get(0).getAddressLine(0);String city = addresses.get(0).getAddressLine(1);String country = addresses.get(0).getAddressLine(2);addressStr = country + "__" + city + "___" + address;Log.d(TAG, addressStr);}else{Log.d(TAG, "获取失败");}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}else{Log.d(TAG, "获取失败");}}}
然后是权限
更多相关文章
- 获取手机联系人
- Android通过MCC+MNC实现锁卡
- Unity3D调用Android系统相册
- Android(安卓)获取音频焦点工具类
- Android学习笔记之Gallery(2)
- 访问网络的Json和图片
- android 获取屏幕宽高 & 控件宽高
- Android(安卓)有时环信初始化失败,创建applocation失败
- android XMl Selector 图片背景点击和焦点获取样式