利用手机获取所在地点的经纬度:

在Android 中通过LocationManager 来获取Location .通常获取Location 有GPS 获取,WIFI 获取.

如下介绍GPS获取Location:

在MainActivity中利用LocationManager获取经纬度:

import java.util.List;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;

public class MainActivity extends Activity

{
private LocationManager manager;
private final LocationListener mLocationStatusChangeListener = new LocationListener()
{

public void onLocationChanged(Location location)
{
updateWithNewLocation(location);
}

public void onProviderDisabled(String provider)
{
updateWithNewLocation(null);
System.out.println("GPS status: disable!!");
}

public void onProviderEnabled(String provider)
{
System.out.println("GPS status: enable!!");
}

public void onStatusChanged(String provider, int status,Bundle extras)
{
System.out.println("GPS status: changed!!");
}
};
public void onCreate(Bundle savedInstanceState)

{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

manager = (LocationManager) getSystemService(LOCATION_SERVICE);//获取手机位置信息
List<String> providers = manager.getAllProviders();

//获取的条件
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);//获取精准位置
criteria.setCostAllowed(true);//允许产生开销
criteria.setPowerRequirement(Criteria.POWER_HIGH);//消耗大的话,获取的频率高
criteria.setSpeedRequired(true);//手机位置移动
criteria.setAltitudeRequired(true);//海拔


//获取最佳provider: 手机或者模拟器上均为gps
String mBestProvider = manager.getBestProvider(criteria, true);//使用GPS卫星
System.out.println("The best provier is: "+mBestProvider );
//parameter: 1. provider 2. 每隔多少时间获取一次 3.每隔多少米 4.监听器触发回调函数
manager.requestLocationUpdates(bestProvider,60000,100,
mLocationStatusChangeListener );
}
}

第三步:

在AndroidManifest.xml中进行如下配置(加入Location相关权限):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.gps"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".DemoActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>

更多相关文章

  1. android Edittext内容字体大小动态变化
  2. [Android] 备份手机上的超级终端、VIM
  3. Android(安卓)之 监控手机电量
  4. android 根据经纬度定位所在城市
  5. 如何在Android平台上创建自定义的Cordova插件并使用SAP UI5消费
  6. Android之SharedPreferences管理类AppPreferences
  7. android 获取系统电量
  8. Android(安卓)获取控件的宽和高
  9. android获取安装的应用程序

随机推荐

  1. Android EGL
  2. Handler知识点总结
  3. 画一个可以动的Android 小机器人
  4. Android 手机卡了怎么办
  5. Android有用的程序片段
  6. 分享一个有关Android从小白到资深工程师
  7. android 仓库下载分析
  8. 为 Android 添加 Java 层服务
  9. 两张图让你完全了解IDEA和Android Studio
  10. SDL2库(4)-Android(安卓)端源码简要分析(A