рдЕрдкрдиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рди рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛

рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдЗрдВрдЯрд░рдиреЗрдЯ рдХрд╛ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдХрд┐рдпрд╛, рдореИрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреЗрд╡рд▓ 1 рд╡рд░реНрдЧ рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЕрдм рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
рдорд╛рдкрджрдВрдб рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдереЗ:
1) рдмрд╛рд╣рд░реА рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, 1 рд╡рд░реНрдЧ рдореЗрдВ рд╕рдм рдХреБрдЫ рд╣рд▓ рдХрд░реЗрдВред
2) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╣рд╛рде рдореЗрдВ рд╣рдореЗрд╢рд╛ 1 рд╕реНрдерд┐рд░ рдЪрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдореЗрдВ рдЙрд╕рдХрд╛ рд╕реНрдерд╛рди рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ рдФрд░ рдЙрд╕реЗ рдХреБрдЫ рдФрд░ рдкрддрд╛ рди рд╣реЛред

рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреЛрд╕реНрдЯреЛрдВ рдиреЗ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджрд┐рдпрд╛: рдмреЗрд╢рдХ, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗрд╡рд╛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдлрд┐рд░ рдЖрдкрдХреЛ рд╕реВрдЪреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдлрд┐рд░ рдЖрдк рддреАрди-рдкреГрд╖реНрда рдХреЗ рдЫреЛрдЯреЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИред
рдирддреАрдЬрддрди, рдореИрдВрдиреЗ рдЕрдкрдиреА рдХрдХреНрд╖рд╛ рд▓рд┐рдЦреА, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдореИрдВ рдЖрдкрдХреЛ рдкреЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ: рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдФрд░ рдХреЛрдИ рднреА рдЗрд╕реЗ рд╕рдВрднрд╛рд▓ рд╕рдХрддрд╛ рд╣реИ: рдмрд╕ рдЗрд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЖрдк рдЦреБрд╢ рд╣реЛрдВрдЧреЗред

import android.content.Context; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; class MyLocationListener implements LocationListener { static Location imHere; //          . public static void SetUpLocationListener(Context context) //         { LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); LocationListener locationListener = new MyLocationListener(); locationManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 5000, 10, locationListener); //         imHere = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); } @Override public void onLocationChanged(Location loc) { imHere = loc; } @Override public void onProviderDisabled(String provider) {} @Override public void onProviderEnabled(String provider) {} @Override public void onStatusChanged(String provider, int status, Bundle extras) {} } 


рддреЛ рд╡рд╣рд╛рдБ рдХреНрдпрд╛ рд╣реИ?

рд╡рд░реНрдЧ рдХреЛ 3 рднрд╛рдЧреЛрдВ рдореЗрдВ рдмрд╛рдВрдЯрд╛ рдЧрдпрд╛ рд╣реИ:
1) imHere - рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕реНрдерд╛рди , рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕реНрдерд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╡реАрдирддрдо рдЬрд╛рдирдХрд╛рд░реА рд╣рдореЗрд╢рд╛ рдЙрдкрд▓рдмреНрдз рд░рд╣реЗрдЧреАред
2) SetUpLocationListener рдлрд╝рдВрдХреНрд╢рди - рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдЕрдкрдиреА рднрд╛рдЧреАрджрд╛рд░реА рдХреЗ рдмрд┐рдирд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
3) рд▓реЛрдХреЗрд╢рдирд▓рд┐рд╕реНрдЯ рдХреЗ рдЕрдиреНрдп рд╕рднреА рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣рд┐рд╕реНрд╕реЗ, рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд╕реАрдпрдд рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рддреЛ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

1) рдПрдХ рд╡рд░реНрдЧ MyLocationListener рдмрдирд╛рдПрдБ
2) рдКрдкрд░ рд▓рд┐рдЦреЗ рдХреЛрдб рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ
3) рдореБрдЦреНрдп рд╕рдорд╛рд░реЛрд╣ рдореЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЦреНрдпрддрд╛ ), рд╣рдо рд╢реБрд░реБрдЖрдд рдХреЗ рдХрд░реАрдм рд╣реИрдВ:

 MyLocationListener.SetUpLocationListener(this); 

рдпрд╛ рд╕реНрдЯреНрд░реАрдо рдкреНрд░реЗрдорд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП
 final Context mainContext = this; new Thread(new Runnable() { @Override public void run() { MyLocationListener.SetUpLocationListener(mainContext); } }).start(); 


4) рдЕрдм рд╣рдо рд╣рдореЗрд╢рд╛ рдФрд░ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдХрд┐рд╕реА рднреА рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реНрдерд╛рди рдХрд╛ рдПрдХ рдЪрд░ MyLocationListener.imHere рд░рдЦрддреЗ рд╣реИрдВ , рдЬреЛ рдирд╡реАрдирддрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рди рдФрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рд╕реНрдерд╛рди рдирд┐рд░реНрдзрд╛рд░рдг рдХреА рдЧрддрд┐ рдпрд╛ рд╕рдЯреАрдХрддрд╛ред

рдФрд░ рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ: рдпрд╣ рдПрдХ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛрдб рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ imHere рд╢реВрдиреНрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЬрд▓реНрдж рдирд╣реАрдВ рд╣реИ: рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡рд░реНрдЧ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдпрд╛рд╕ рдХреЗ рдФрд░ рдиреНрдпреВрдирддрдо рдЬреНрдЮрд╛рди рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рди рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

(!) рдордд рднреВрд▓рдирд╛: рдЪрдпрдирд┐рдд рдкреНрд░рджрд╛рддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдкрдХреЛ рдкреНрд░рдХрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдЕрдиреБрдорддрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрд░реНрдпреБрдХреНрдд GPS_PROVIDER рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐ рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ:

 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

Source: https://habr.com/ru/post/In201648/


All Articles