c
添加权限:android.permission.ACCESS_FINE_LOCATION
import android.app.Activity;
import android.content.Context;
import android.location.*;
import android.os.*;
import android.widget.*;
public class GPSTest extends Activity {
private LinearLayout mainView=null;
private TextView infoView=null;
private TextView locationView=null;
private LocationManager locationManager=null;
private LocationListener locationListener=null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mainView=new LinearLayout(this);
mainView.setOrientation(LinearLayout.VERTICAL);
infoView=new TextView(this);
mainView.addView(infoView);
locationView=new TextView(this);
mainView.addView(locationView);
setContentView(mainView);
locationManager_init();
}
/*locationManager初始化*/
void locationManager_init(){
locationManager =(LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
locationListener_init();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000,0, locationListener);
}
/*locatonListener初始化*/
void locationListener_init(){
locationListener=new LocationListener(){
//位置变化时触发
public void onLocationChanged(Location location) {
locationView.setText("时间:"+location.getTime()+"\n");
locationView.append("经度:"+location.getLongitude()+"\n");
locationView.append("纬度:"+location.getLatitude()+"\n");
locationView.append("海拔:"+location.getAltitude()+"\n");
}
//gps禁用时触发
public void onProviderDisabled(String provider) {
infoView.setText("当前GPS状态:禁用\n");
}
//gps开启时触发
public void onProviderEnabled(String provider) {
infoView.setText("当前GPS状态:开启\n");
}
//gps状态变化时触发
public void onStatusChanged(String provider, int status,Bundle extras) {
if(status==LocationProvider.AVAILABLE){
infoView.setText("当前GPS状态:可见的\n");
}else if(status==LocationProvider.OUT_OF_SERVICE){
infoView.setText("当前GPS状态:服务区外\n");
}else if(status==LocationProvider.TEMPORARILY_UNAVAILABLE){
infoView.setText("当前GPS状态:暂停服务\n");
}
}
};
}
}