Mi aplicación GPS de Android no funciona incluso cuando envío manualmente los valores de latitud y longitud a través de Eclipse

StackOverflow https://stackoverflow.com/questions/5816170

Pregunta

Estoy desarrollando una aplicación de Android que obtiene su ubicación GPS actual, pero la tostada no aparece en el cambio de oncalización cuando envío manualmente los valores de latitud y longitud a través de los controles de ubicación en Eclipse.

¿Hay algo que haya dejado fuera, porque he intentado todo lo que puedo pensar? Agradeceré mucho su ayuda.

Aquí está mi código:

package com.currentlocation;

import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.Button;
import android.widget.Toast;

public class CurrentLocation extends Activity {
    Button button1;
   LocationManager mylocationManager;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        button1=(Button)findViewById(R.id.button1);
        mylocationManager=(LocationManager)getSystemService(Context.LOCATION_SERVICE);
        LocationListener locationlistener=new mylocation();
        mylocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0,locationlistener);
    }
    public class mylocation implements LocationListener
    {
        @Override
        public void onLocationChanged(Location location) {
            String mycurrentLocation="My current location is Latitude"+location.getLatitude()+" and Longitude"+location.getLongitude();
            Toast.makeText(getApplicationContext(),mycurrentLocation, Toast.LENGTH_SHORT).show();
        }
        @Override
        public void onProviderDisabled(String provider) {}
        @Override
        public void onProviderEnabled(String provider) {}
        @Override
        public void onStatusChanged(String provider, int status, Bundle extras) {}
    }


}

Aquí está mi código manifiesto:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.currentlocation"
      android:versionCode="1"
      android:versionName="1.0">


    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".CurrentLocation"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

</manifest>
¿Fue útil?

Solución

Está escuchando desde Network_Provider no desde GPS_Provider. Si desea latitud y longitud GPS, simplemente reemplace esta línea.

 mylocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0,locationlistener);

con

 mylocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,locationlistener);

Otros consejos

myLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new LocationListener() {
@Override
public void onLocationChanged(Location location) {

}

@Override
public void onStatusChanged(String s, int i, Bundle bundle) {

}

@Override
public void onProviderEnabled(String s) {

}

@Override
public void onProviderDisabled(String s) {

}
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top