Android wiki :17.GPS服务
来源:互联网 发布:nginx https 无法访问 编辑:程序博客网 时间:2024/05/18 02:16
//开启服务在后台获得gps坐标,想要的时候数据的时候,开启这个服务,将坐标保存到xml配置文件中,然后取出来即可public class GPSService extends Service {// 用到位置服务private LocationManager lm;private MyLocationListener listener;public void onCreate() {super.onCreate();lm = (LocationManager) getSystemService(LOCATION_SERVICE);//得到位置服务listener = new MyLocationListener();// 注册监听位置服务// 给位置提供者设置条件Criteria criteria = new Criteria();criteria.setAccuracy(Criteria.ACCURACY_FINE);// 设置参数细化:// criteria.setAccuracy(Criteria.ACCURACY_FINE);//设置为最大精度// criteria.setAltitudeRequired(false);//不要求海拔信息// criteria.setBearingRequired(false);//不要求方位信息// criteria.setCostAllowed(true);//是否允许付费// criteria.setPowerRequirement(Criteria.POWER_LOW);//对电量的要求String proveder = lm.getBestProvider(criteria, true);//得到当前可用的最好定位服务名称lm.requestLocationUpdates(proveder, 0, 0, listener);//注册监听位置服务}class MyLocationListener implements LocationListener {/** * 当位置改变的时候回调 */public void onLocationChanged(Location location) {String longitude = "j:" + location.getLongitude() + "\n";//得到经度String latitude = "w:" + location.getLatitude() + "\n";//纬度String accuracy = "a" + location.getAccuracy() + "\n";//精确度// 发短信给安全号码// 把标准的GPS坐标转换成火星坐标(地图上的坐标是由标准的坐标通过算法算出火星坐标的,所以真实gps坐标在地图上显示偏差好大)//所以把标准的gps坐标转换成火星坐标,再在地图上显示就准确了。//InputStream is;//try {//is = getAssets().open("axisoffset.dat");//ModifyOffset offset = ModifyOffset.getInstance(is);//将标准的坐标点传入转换成火星坐标//PointDouble double1 = offset.s2c(new PointDouble(location.getLongitude(), location.getLatitude()));//longitude ="j:" + offset.X+ "\n";//latitude = "w:" +offset.Y+ "\n";////} catch (Exception e) {//e.printStackTrace();//}finlly{is.close();}//将坐标保存到xml配置文件中SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);Editor editor = sp.edit();editor.putString("lastlocation", longitude + latitude + accuracy);editor.commit();}/** * 当状态发生改变的时候回调 开启--关闭 ;关闭--开启 */@Overridepublic void onStatusChanged(String provider, int status, Bundle extras) {// TODO Auto-generated method stub}/** * 某一个位置提供者可以使用了 */@Overridepublic void onProviderEnabled(String provider) {// TODO Auto-generated method stub}/** * 某一个位置提供者不可以使用了 */@Overridepublic void onProviderDisabled(String provider) {// TODO Auto-generated method stub}}public void onDestroy() {super.onDestroy();// 取消监听位置服务lm.removeUpdates(listener);listener = null;}}需要的权限:<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"/>
0 0
- Android wiki :17.GPS服务
- android gps 定位服务
- Android下实现GPS定位服务
- Android 位置服务与GPS实时定位
- android wiki
- WIKI服务搭建-JSPWIKI
- 初探Android平台上的定位服务(GPS)
- android 默认打开位置服务,默认关闭GPS设置
- android位置服务与GPS实时定位工具类
- Android之检测GPS服务和定位权限是否开启
- Java消息服务【JMS】 WIKI
- Android GPS
- Android GPS
- android GpS
- android gps
- android GPS
- android GPS
- Android GPS
- Xutils 中BitmapUtils工具类的源码分析
- 实现对字符串的画线动画
- oozie 客户端常用命令
- Parameter 'xxx' not found. Available parameters are [1, 0, param1, param2]
- linux系统的dd命令
- Android wiki :17.GPS服务
- VMware vSphere Client创建虚拟机
- Camera点点滴滴
- php数据库部分(使用tp框架可以适当忽略)
- QTC++ widget中使用QML编写的UI界面
- minicom使用usb转串口(修改)
- Linux Shell编程(基础教程)
- ElasticSearch:版本冲突处理(事务控制)
- Android wiki : 18.DevicePolicyManager锁屏和清除数据