package android.test;import java.util.Iterator;import android.app.Activity;import android.location.Criteria;import android.location.GpsSatellite;import android.location.GpsStatus;import android.location.Location;import android.location.LocationListener;import android.location.LocationManager;import android.os.Bundle;import android.location.GpsStatus.Listener;import android.location.GpsStatus;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;public class TestActivity extends Activity implements LocationListener  {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {    Log.i(tag, "on Create");        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        btn=(Button)findViewById(R.id.btn);        tv1=(TextView)findViewById(R.id.tv1);        tv2=(TextView)findViewById(R.id.tv1);        listener = new GpsStatus.Listener() {            public void onGpsStatusChanged(int event) {            gpsstatus=mgr.getGpsStatus(null);            switch(event)            {            case GpsStatus.GPS_EVENT_FIRST_FIX:gpsstatus.getTimeToFirstFix();              case GpsStatus.GPS_EVENT_SATELLITE_STATUS:                   //得到所有收到的卫星的信息,包括 卫星的高度角、方位角、信噪比、和伪随机号(及卫星编号)            Iterable<GpsSatellite> allSatellites;            allSatellites = gpsstatus.getSatellites();            Iterator it=allSatellites.iterator();            String msg="";            while(it.hasNext())            {            GpsSatellite oSat = (GpsSatellite) it.next() ;              msg="azimuth:"+oSat.getAzimuth();            msg+="\nprn:"+oSat.getPrn();            msg+="\nsnr:"+oSat.getSnr();            }            tv2.setText(msg);            break;                       case GpsStatus.GPS_EVENT_STARTED:                   //Event sent when the GPS system has started.           break;                       case GpsStatus.GPS_EVENT_STOPPED:                  //Event sent when the GPS system has stopped.             break;                       default :            break;            }                            }     };        btn.setOnClickListener(new Button.OnClickListener()        {    @Override    public void onClick(View arg0) {    // TODO Auto-generated method stub    Log.i(tag, "on button click");    getdata();    show();    }                });             }   void show()   {   String msg="";   msg+="latitude:"+latitude;   msg+="\nlongtitude:"+longtitude;   msg+="\naltitude:"+altitude;   msg+="\naccuracy:"+accuracy;   msg+="\nbearing:"+bearing;   msg+="\nspeed:"+speed;   msg+="\ntime:"+time;   tv1.setText(msg);   //Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();   }   GpsStatus.Listener listener;   private GpsStatus gpsstatus;    private final String tag="TEST_MAY";    private LocationManager mgr;    private Button btn;    private TextView tv1,tv2;    private String best;    private double latitude;    private double longtitude;    private double altitude;    private float accuracy;    private float bearing;    private float speed;    private long time;    private void getdata()    {        try    {mgr=(LocationManager)getSystemService(LOCATION_SERVICE);    mgr.addGpsStatusListener(listener);    Criteria criteria= new Criteria();    best=mgr.getBestProvider(criteria, true);    Location location= mgr.getLastKnownLocation("gps");        if(location.hasAccuracy()) accuracy=location.getAccuracy();    Log.d(tag, "getdata");    if(location.hasAltitude()) altitude=location.getAltitude();    if(location.hasBearing()) bearing=location.getBearing();    if(location.hasSpeed()) speed=location.getSpeed();    Log.d(tag, "getsomedata");        latitude=location.getLatitude();    longtitude=location.getLongitude();    time=location.getTime();        }    catch( NullPointerException e)    {        }        }   @Overridepublic void onLocationChanged(Location location) {// TODO Auto-generated method stubToast.makeText(this, location.toString(), Toast.LENGTH_SHORT).show();}@Overridepublic void onProviderDisabled(String provider) {// TODO Auto-generated method stubToast.makeText(this, provider+" disable", Toast.LENGTH_SHORT).show();}@Overridepublic void onProviderEnabled(String provider) {// TODO Auto-generated method stubToast.makeText(this, provider+" enable", Toast.LENGTH_LONG).show();}@Overridepublic void onStatusChanged(String provider, int status, Bundle extras) {// TODO Auto-generated method stubToast.makeText(this, status+" changed", Toast.LENGTH_SHORT).show();}}

更多相关文章

  1. Android(安卓)Media Server - MediaPlayer - setDisplay
  2. [整理]android中几种常见的尺寸
  3. Android输入法遮挡问题的解决思路
  4. Android(安卓)调用 Web Service
  5. iOS和Android的兼容 (一)
  6. Android(安卓)解压APK文件
  7. android 开发中遇到的问题
  8. Android(安卓)中如何得到字符的像素宽度
  9. Android(安卓)如何通过menu id来得到menu item 控件

随机推荐

  1. Android(安卓)DNS之DNS参数设置
  2. android 绘图
  3. android 模拟器手机如何添加文件到sd卡
  4. Android(安卓)Handler 异步消息处理机制
  5. Android(安卓)使用SVG
  6. android SDK包引用了java SDK哪些包
  7. android UI进阶之弹窗的使用
  8. Android(安卓)中需要掌握的高级技巧
  9. Android百度地图——定位SDK(版本v3.1)(二)
  10. android 中管理短信