package com.test;import android.app.Activity;import android.content.Context;import android.content.Intent;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.provider.Settings;import android.widget.TextView;import android.widget.Toast;import java.io.IOException;import java.util.List;public class Test2 extends Activity {    protected void onCreate(Bundle savedInstanceState) {        // TODO Auto-generated method stub        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        openGPSSettings();           }        private void openGPSSettings() {        LocationManager alm = (LocationManager) this                .getSystemService(Context.LOCATION_SERVICE);        if (alm                .isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)) {            Toast.makeText(this, "GPS模块正常", Toast.LENGTH_SHORT)                    .show();            doWork();            return;        }        Toast.makeText(this, "请开启GPS!", Toast.LENGTH_SHORT).show();        Intent intent = new Intent(Settings.ACTION_SECURITY_SETTINGS);        startActivityForResult(intent,0); //此为设置完成后返回到获取界面    }        private void doWork() {        String msg = "";        TextView textView = (TextView) findViewById(R.id.tv1);        LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);        Criteria criteria = new Criteria();        // 获得最好的定位效果        criteria.setAccuracy(Criteria.ACCURACY_FINE);        criteria.setAltitudeRequired(false);        criteria.setBearingRequired(false);        criteria.setCostAllowed(false);        // 使用省电模式        criteria.setPowerRequirement(Criteria.POWER_LOW);        // 获得当前的位置提供者        String provider = locationManager.getBestProvider(criteria, true);        // 获得当前的位置        Location location = locationManager.getLastKnownLocation(provider);                        Geocoder gc = new Geocoder(this);         List<Address> addresses = null;        try {            addresses = gc.getFromLocation(location.getLatitude(), location.getLongitude(), 1);        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } if (addresses.size() > 0) {         msg += "AddressLine:" + addresses.get(0).getAddressLine(0)+ "\n";         msg += "CountryName:" + addresses.get(0).getCountryName()+ "\n";         msg += "Locality:" + addresses.get(0).getLocality() + "\n";         msg += "FeatureName:" + addresses.get(0).getFeatureName();         }         textView.setText(msg);    }}

Manifest 权限:

<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FIND_LOCATION" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>

更多相关文章

  1. [置顶] Android(安卓)通过经纬度获取地理位置信息
  2. Android遍历某个文件夹的图片并实现滑动查看的的Gallery
  3. 【Android】使用ConnectivityManager与NetworkInfo实现判断当前
  4. Android(安卓)字体相关内容
  5. Android(安卓)解决阿里云直播水印问题
  6. Android(安卓)获得可用摄像头id
  7. Android文件操作
  8. Android(安卓)获取通讯录联系人
  9. 编程回忆之Android回忆(Android应用参数的获取)

随机推荐

  1. Android内存泄漏检测工具使用手册
  2. Android(安卓)自定义View控件,实现跟随手
  3. Android(安卓)setXfermode 遮罩 实现圆形
  4. Android与Js调用
  5. 编写高效的Android代码(译)
  6. 简单分析Android里面的TimePicker控件
  7. Android(安卓)Fragment 剖析 - 01
  8. 常用的快捷键大全(IT)
  9. Android多线程之HandlerThread
  10. Afinal简介