歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android入門之簡單GPS定位實例

Android入門之簡單GPS定位實例

日期:2017/3/1 11:17:30   编辑:Linux編程

Android入門之簡單GPS定位實例

添加權限:android.permission.ACCESS_FINE_LOCATION

  1. import android.app.Activity;
  2. import android.content.Context;
  3. import android.location.*;
  4. import android.os.*;
  5. import android.widget.*;
  6. public class GPSTest extends Activity {
  7. private LinearLayout mainView=null;
  8. private TextView infoView=null;
  9. private TextView locationView=null;
  10. private LocationManager locationManager=null;
  11. private LocationListener locationListener=null;
  12. public void onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. mainView=new LinearLayout(this);
  15. mainView.setOrientation(LinearLayout.VERTICAL);
  16. infoView=new TextView(this);
  17. mainView.addView(infoView);
  18. locationView=new TextView(this);
  19. mainView.addView(locationView);
  20. setContentView(mainView);
  21. locationManager_init();
  22. }
  23. /*locationManager初始化*/
  24. void locationManager_init(){
  25. locationManager =(LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
  26. locationListener_init();
  27. locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000,0, locationListener);
  28. }
  29. /*locatonListener初始化*/
  30. void locationListener_init(){
  31. locationListener=new LocationListener(){
  32. //位置變化時觸發
  33. public void onLocationChanged(Location location) {
  34. locationView.setText("時間:"+location.getTime()+"\n");
  35. locationView.append("經度:"+location.getLongitude()+"\n");
  36. locationView.append("緯度:"+location.getLatitude()+"\n");
  37. locationView.append("海拔:"+location.getAltitude()+"\n");
  38. }
  39. //gps禁用時觸發
  40. public void onProviderDisabled(String provider) {
  41. infoView.setText("當前GPS狀態:禁用\n");
  42. }
  43. //gps開啟時觸發
  44. public void onProviderEnabled(String provider) {
  45. infoView.setText("當前GPS狀態:開啟\n");
  46. }
  47. //gps狀態變化時觸發
  48. public void onStatusChanged(String provider, int status,Bundle extras) {
  49. if(status==LocationProvider.AVAILABLE){
  50. infoView.setText("當前GPS狀態:可見的\n");
  51. }else if(status==LocationProvider.OUT_OF_SERVICE){
  52. infoView.setText("當前GPS狀態:服務區外\n");
  53. }else if(status==LocationProvider.TEMPORARILY_UNAVAILABLE){
  54. infoView.setText("當前GPS狀態:暫停服務\n");
  55. }
  56. }
  57. };
  58. }
  59. }
Copyright © Linux教程網 All Rights Reserved