рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдЗрдВрдЯрд░рдиреЗрдЯ рдХрд╛ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдХрд┐рдпрд╛, рдореИрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреЗрд╡рд▓ 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;
рддреЛ рд╡рд╣рд╛рдБ рдХреНрдпрд╛ рд╣реИ?
рд╡рд░реНрдЧ рдХреЛ 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" />