博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 原生方法获取定位
阅读量:6082 次
发布时间:2019-06-20

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

hot3.png

package com.example.getlocation;import android.location.Location;import android.location.LocationListener;import android.location.LocationManager;import android.os.Bundle;import android.os.Handler;import android.app.Activity;import android.content.Context;import android.util.Log;import android.widget.TextView;public class MainActivity extends Activity{   private double latitude=0.0;   private double longitude =0.0;   LocationManager locationManager =null ;   @Override   protected void onCreate(Bundle savedInstanceState)   {      super.onCreate(savedInstanceState);      setContentView(R.layout.activity_main);      final TextView showText = (TextView)findViewById(R.id.show_text);      locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);             LocationListener locationListener = new LocationListener() {                        // Provider的状态在可用、暂时不可用和无服务三个状态直接切换时触发此函数            @Override            public void onStatusChanged(String provider, int status, Bundle extras) {                           }                        // Provider被enable时触发此函数,比如GPS被打开            @Override            public void onProviderEnabled(String provider) {               Log.e("Map", "onProviderEnabled "  );            }                        // Provider被disable时触发此函数,比如GPS被关闭             @Override            public void onProviderDisabled(String provider) {                           }                        //当坐标改变时触发此函数,如果Provider传进相同的坐标,它就不会被触发             @Override            public void onLocationChanged(Location location) {               if (location != null)                {                     Log.e("Map", "Location changed : Lat: "                    + location.getLatitude() + " Lng: "                    + location.getLongitude());                     showText.setText("Latitude:"+ location.getLatitude() +"Longitude"+location.getLongitude());                   stopLister(this);               }            }         };                  if(locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER))         {            //第一个参数,与取            locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000, 0,locationListener);            }         else         {            locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,1000, 0,locationListener);          }           //取上一次定位的位置//       Location location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);   //       if(location != null){   //          latitude = location.getLatitude(); //经度   //          longitude = location.getLongitude(); //纬度//          //          Log.e("Map", "NETWORK_PROVIDER changed : Lat: "  //          + location.getLatitude() + " Lng: "  //          + location.getLongitude());   //       }            }   /**    * 销毁定位    */   private void stopLister(LocationListener listener) {      if (locationManager != null) {         locationManager.removeUpdates(listener);      }      locationManager = null;   }}

转载于:https://my.oschina.net/u/588516/blog/816214

你可能感兴趣的文章
jdk安装配置环境变量
查看>>
Spring Batch JobExecutionDecider
查看>>
java守护线程的理解
查看>>
关于模版模式
查看>>
偶尔看到的c11新特性2
查看>>
控制并发访问资源 -- Semaphore
查看>>
for循环的简单例子:求100以内的偶数和
查看>>
真正聪明的人都是下笨功夫(深度好文)
查看>>
facebook160亿美元收购WhatsApp
查看>>
Python 05 自定义函数的创建、调用和函数
查看>>
千方百计获取百度网盘下载链接
查看>>
淘宝网页变为繁体,教你如何改回简体
查看>>
网页选项卡
查看>>
数据库的备份与恢复 mysqldump+binlog方式
查看>>
SAMBA服务器的配置
查看>>
Cisco设备配置文件定期备份
查看>>
初次接触Linux
查看>>
mysql行转列(拆分字符串场景)
查看>>
SDL做的一个简单Button
查看>>
php utf8和utf-8的区别
查看>>