android GPS定位和卫星个数
package com.pdager.gps; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import android.app.Activity; import android.content.Context; import android.content.Intent; 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.provider.Settings; import android.text.format.Time; import android.view.KeyEvent; import android.widget.TextView; import android.widget.Toast; public class getlocation extends Activity { /** Called when the activity is first created. / @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); openGPSSettings(); } private void openGPSSettings() { LocationManager alm = (LocationManager) this .getSystemService(Context.LOCATION_SERVICE); if (alm .isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)) { Toast.makeText(this, "GPS模块正常", Toast.LENGTH_SHORT).show(); getLocation(); return; } else{ Toast.makeText(this, "请开启GPS!", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(Settings.ACTION_SECURITY_SETTINGS); startActivityForResult(intent, R.layout.main); // 此为设置完成后返回到获取界面 getLocation(); return; } } LocationManager locationManager; private void getLocation() { // 获取位置管理服务 String serviceName = Context.LOCATION_SERVICE; locationManager = (LocationManager) this.getSystemService(serviceName); // 查找到服务信息 // Criteria criteria = new Criteria(); // criteria.setAccuracy(Criteria.ACCURACY_FINE); // // 高精度 // criteria.setAltitudeRequired(false); // criteria.setBearingRequired(false); // criteria.setCostAllowed(true); // criteria.setPowerRequirement(Criteria.POWER_LOW); // // 低功耗 // String provider = locationManager.getBestProvider(criteria, true); // 获取GPS信息 String provider = LocationManager.GPS_PROVIDER; Location location = locationManager.getLastKnownLocation(provider);// 通过GPS获取位置 if (location == null) location = locationManager .getLastKnownLocation(LocationManager.NETWORK_PROVIDER); updateToNewLocation(location); // 设置监听器,自动更新的最小时间为间隔N秒(1秒为11000)或最小位移变化超过N米 locationManager.requestLocationUpdates(provider, 1000, 0, locationListener); locationManager.addGpsStatusListener(statusListener); // 注册状态信息回调 } private List
