Android GPS dauert zu viel Zeit, um die Standort-Koordinaten

Hier, GPS dauert eine halbe Stunde oder mehr (Zeit), um den aktuellen Standort-Koordinaten.

Wie kann ich GPS aus GPS_SATELLITES und GPS _NETWORK_PROVIDERS
gleichzeitig im gleichen Zusammenhang und der Wert der letzten
GPS?

public class ImageFile extends Activity{

    LocationListener listner;
Location location;
LocationManager locationManager ;
private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; //10 meters
private static final long MIN_TIME_BW_UPDATES = 1000 * 10 * 1; //1 minute

@Override
protected void onCreate(final Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.branchreport_layout);


    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    listner = new MyLocationListner();
    isGPSEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);

    isNetworkEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);

    if(isGPSEnabled==false&&isNetworkEnabled==false)
    {
        showSettingsAlert();
    }
    if (isGPSEnabled) 
    {
        progress = ProgressDialog.show(this, "GPS",
                "Fetching latitude and longitude...", true);
        locationManager.requestLocationUpdates(
                LocationManager.GPS_PROVIDER,
                MIN_TIME_BW_UPDATES,MIN_DISTANCE_CHANGE_FOR_UPDATES,listner);   


    }
    else if (isNetworkEnabled)
    {
        progress = ProgressDialog.show(this, "GPS",
                "Fetching latitude and longitude...", true);
        locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,MIN_TIME_BW_UPDATES,MIN_DISTANCE_CHANGE_FOR_UPDATES,listner);
    }



public class MyLocationListner implements LocationListener {

    @TargetApi(Build.VERSION_CODES.GINGERBREAD)
    @Override
    public void onLocationChanged(Location location) {
        //TODO Auto-generated method stub

        x = location.getLatitude();
        y = location.getLongitude();

        if((x!=0) && (y!=0))
        {
            progress.dismiss();

            locationManager.removeUpdates(listner);
            Geocoder gCoder = new Geocoder(ImageFile.this);

            try {
                addresses = gCoder.getFromLocation(x, y, 1);
            } catch (IOException e) {
                //TODO Auto-generated catch block
                e.printStackTrace();
            }
            if (addresses != null && addresses.size() > 0) {
                Log.d("TestTag", "Locality: " + addresses.get(0).getLocality()+"getAddressLine"+addresses.get(0).getAddressLine(0)+",getAdminArea"+addresses.get(0).getAdminArea()+",getSubLocality"+addresses.get(0).getSubLocality());
            }

        }
    }

    @Override
    public void onProviderDisabled(String arg0) {
        //TODO Auto-generated method stub

    }

    @Override
    public void onProviderEnabled(String arg0) {
        //TODO Auto-generated method stub

    }

    @Override
    public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
        //TODO Auto-generated method stub

    }

}
public void showSettingsAlert(){
    AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);

    //Setting Dialog Title
    alertDialog.setTitle("GPS is settings");

    //Setting Dialog Message
    alertDialog.setMessage("GPS is not enabled. Do you want to go to settings menu?");

    //On pressing Settings button
    alertDialog.setPositiveButton("Settings", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog,int which) {
            Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
            startActivity(intent);
        }
    });

    //on pressing cancel button
    alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            dialog.cancel();
        }
    });

    alertDialog.show();
}

}

  • GPS fixed min drei Satelliten und dann geben Sie genauen Standort. Nehmen Sie sich immer Zeit. Betterto tun im hintergrund/
InformationsquelleAutor Deepak D | 2015-05-20
Schreibe einen Kommentar