gps定位
发布日期:2021-06-30 18:39:17 浏览次数:2 分类:技术文章

本文共 2820 字,大约阅读时间需要 9 分钟。

1、代码实现:

import android.location.Location;import android.location.LocationListener;import android.location.LocationManager;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.widget.TextView;public class MainActivity extends Activity {	private TextView tv_mess;	private LocationManager lm;	private LocationListener listener;	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		tv_mess = (TextView) findViewById(R.id.tv_gps_mess);		//定位 定位管理器		lm = (LocationManager) getSystemService(LOCATION_SERVICE);		listener = new LocationListener() {						@Override			public void onStatusChanged(String provider, int status, Bundle extras) {				// TODO Auto-generated method stub							}						@Override			public void onProviderEnabled(String provider) {				// TODO Auto-generated method stub							}						@Override			public void onProviderDisabled(String provider) {				// TODO Auto-generated method stub							}						/* (non-Javadoc)			 * 位置变化,就触发此方法调用,覆盖此方法可以追踪回调结果信息			 * @see android.location.LocationListener#onLocationChanged(android.location.Location)			 */			@Override			public void onLocationChanged(Location location) {				//获取位置变化的结果				float accuracy = location.getAccuracy();//精确度,以米为单位				double altitude = location.getAltitude();//获取海拔高度				double longitude = location.getLongitude();//获取经度				double latitude = location.getLatitude();//获取纬度				float speed = location.getSpeed();//速度								tv_mess.append("accuracy:" + accuracy + "\n");				tv_mess.append("altitude:" + altitude + "\n");				tv_mess.append("longitude:" + longitude + "\n");				tv_mess.append("latitude:" + latitude + "\n");				tv_mess.append("speed:" + speed + "\n");							}		};				//获取所有的提供的定位方式		//List
allProviders = lm.getAllProviders();
//for (String string : allProviders) {
//
System.out.println(string + "》》定位方式");
//}
//Criteria criteria = new Criteria();
//criteria.setCostAllowed(true);//产生费用
//criteria.setAccuracy(Criteria.ACCURACY_FINE);
//动态获取手机的最佳定位方式
//String bestProvider = lm.getBestProvider(criteria , true);
/**
* provider  定位的方式: 1,wifi  2,3g/4g 消极定位  3,gps
* minTime   定位的时间差  10分钟
* minDistance 定位的距离差 10m 
* listener 定位的监听回调
*/
lm.requestLocationUpdates("gps", 0, 0, listener);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onDestroy() {
// 取消定位的监听
lm.removeUpdates(listener);
lm = null;
super.onDestroy();
}}

2、添加权限:

转载地址:https://linqiarui.blog.csdn.net/article/details/51153650 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:一键锁屏
下一篇:发送短信

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月13日 23时57分37秒