hamedg1366
یک شنبه 23 فروردین 1394, 22:29 عصر
با سلام و خسته نباشید به همه دوستان گرامی
با کمک کد زیر در تلاشم تا موقعیت فعلی رو بدست بیارم:
try{
LocationManager locationManager = (LocationManager)c.getSystemService(Context.LOCATI ON_SERVICE);
final boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager. GPS_PROVIDER);
if (gpsEnabled) {
Toast.makeText(c, "getLocation Gps ____ HAS ON", Toast.LENGTH_LONG).show();
LocationListener ll = new gps();
locationManager.requestLocationUpdates(LocationMan ager.GPS_PROVIDER, 0, 0, ll);
Toast.makeText(c, "gps.lat="+gps.lat, Toast.LENGTH_SHORT).show();
Toast.makeText(c, "gps.lon="+gps.lon, Toast.LENGTH_LONG).show();
}
}
catch(Exception e)
{
}*/
Gps.class
public class gps extends AsyncTask<Void, Void, Void> implements LocationListener{
public static double lat,lon=0;
@Override
public void onLocationChanged(Location location) {
lat=location.getLatitude();//arze jografiyae
lon=location.getLongitude();//arze jografiyae
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
return null;
}
}
مشکلم اینجاست که تا بیام دستگاه Gps رو روشن کنم و اون بیاد موقعیت فعلی رو بدست بیاره چند ثانیه ای طول میکشه و توی این چند ثانیه مقدار 0.0 برام برگشت داده میشه ؛ کد ها درست هستن فقط نمیدونم چطور باید تا بدست آوردن موقعیت زمان رو از بین ببرم ، از تایمر استفاده کردم متاسفانه جواب نداد و خطا داد.
مد نظر داشته باشید که تمامی این کارها را درون سرویس انجام میدم نه اکتیویتی دستگاه.
وضعیتم اورژانسی هس لطفا کمکم کنید
با کمک کد زیر در تلاشم تا موقعیت فعلی رو بدست بیارم:
try{
LocationManager locationManager = (LocationManager)c.getSystemService(Context.LOCATI ON_SERVICE);
final boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager. GPS_PROVIDER);
if (gpsEnabled) {
Toast.makeText(c, "getLocation Gps ____ HAS ON", Toast.LENGTH_LONG).show();
LocationListener ll = new gps();
locationManager.requestLocationUpdates(LocationMan ager.GPS_PROVIDER, 0, 0, ll);
Toast.makeText(c, "gps.lat="+gps.lat, Toast.LENGTH_SHORT).show();
Toast.makeText(c, "gps.lon="+gps.lon, Toast.LENGTH_LONG).show();
}
}
catch(Exception e)
{
}*/
Gps.class
public class gps extends AsyncTask<Void, Void, Void> implements LocationListener{
public static double lat,lon=0;
@Override
public void onLocationChanged(Location location) {
lat=location.getLatitude();//arze jografiyae
lon=location.getLongitude();//arze jografiyae
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
return null;
}
}
مشکلم اینجاست که تا بیام دستگاه Gps رو روشن کنم و اون بیاد موقعیت فعلی رو بدست بیاره چند ثانیه ای طول میکشه و توی این چند ثانیه مقدار 0.0 برام برگشت داده میشه ؛ کد ها درست هستن فقط نمیدونم چطور باید تا بدست آوردن موقعیت زمان رو از بین ببرم ، از تایمر استفاده کردم متاسفانه جواب نداد و خطا داد.
مد نظر داشته باشید که تمامی این کارها را درون سرویس انجام میدم نه اکتیویتی دستگاه.
وضعیتم اورژانسی هس لطفا کمکم کنید