• android 获取当前位置


    1. Android开发位置感知应用程序
    方式:
    1. GPS 定位     精确度高,仅适用于户外,严重消耗电量。
    如果手机内置GPS接受模块,即使手机处于信号盲区,依然可以获取位置信息。

    2. NETWORK_PROVIDER   网络定位,室内室外都可以使用,响应速度快,耗电量少。


    下面演示 根据条件,自动选择最优的定位方式

    package demo.map4;
    import java.util.List; 
    import android.app.Activity; 
    import android.content.Context; 
    import android.location.Criteria;
    import android.location.Location; 
    import android.location.LocationManager;
    import android.os.Bundle;
    import android.util.Log;
    import android.widget.TextView;
    import android.widget.Toast;
    
    
    /*
    
    
         获取当前位置信息
    */
    
    
    public class Map4Activity extends Activity
    { 
        private TextView textView = null; 
        @Override
        public void onCreate(Bundle savedInstanceState)
        { 
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main); 
            textView = (TextView) findViewById(R.id.loc);
            LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
            // 返回所有已知的位置提供者的名称列表,包括未获准访问或调用活动目前已停用的。
            List<String> lp = lm.getAllProviders();
            for (String item:lp)
            {
                Log.i("8023", "可用位置服务:"+item); 
            }
    
    
            Criteria criteria = new Criteria();  
            criteria.setCostAllowed(false); 
    //设置位置服务免费 
            criteria.setAccuracy(Criteria.ACCURACY_COARSE); //设置水平位置精度
             //getBestProvider 只有允许访问调用活动的位置供应商将被返回
            String  providerName =         lm.getBestProvider(criteria, true);
            Log.i("8023", "------位置服务:"+providerName);
    
    
    
            if (providerName != null)
            {        
                Location location = lm.getLastKnownLocation(providerName);
                Log.i("8023", "-------"+location);    
                 //获取维度信息
                double latitude = location.getLatitude();
                //获取经度信息
                double longitude = location.getLongitude();
                textView.setText("定位方式: "+providerName+"  维度:"+latitude+"  经度:"+longitude);   
            }
            else
            {
                  Toast.makeText(this, "1.请检查网络连接 
    2.请打开我的位置", Toast.LENGTH_SHORT).show();
            }
        } 
    
    
    }
    
    
     添加访问网络权限
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  • 相关阅读:
    网络爬虫之框架(Scrapy)
    模拟投币试验
    [LeetCode#177]Nth Highest Salary
    Windows Server 2008 各版本功能差异与比较各版本概观--转载
    Win2008 R2下Server Core常用命令小结
    powershell 中用Sqlps管理我台sqlserver 2008r2
    初识 Markdown
    React 入门(3): 严格模式 ReactDOM
    ES6 类的正确定义方式 公有类字段 getter / setter
    Lodash 去抖动 节流
  • 原文地址:https://www.cnblogs.com/liudeyun/p/android.html
Copyright © 2020-2023  润新知