Estoy tratando de hacer una aplicación simple en Android para obtener la ubicación actual usando el GPS o el proveedor de red (WIFI o torre) pero estoy enfrentando problemas mientras trato de hacerlo funcionar en el Android. No comenzará, me dio una excepción, no sé por qué.¿Cómo puedo obtener la ubicación actual en Android programáticamente?
Este es el código. Es tan simple, porque quiero probar conseguir la ubicación & tarde voy a añadir algunas características & funcionalidad ..
principal:
package com.GpsTesting;
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.Toast;
public class GPS_TestActivity extends Activity{
/** Called when the activity is first created. */
String location_text="";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
// Define a listener that responds to location updates
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
// Called when a new location is found by the network location provider.
if (location != null) {
double lat = location.getLatitude();
double lng = location.getLongitude();
location_text= "latitude: "+lat+"longitude: "+lng;
Toast.makeText(getApplicationContext(), location_text, Toast.LENGTH_SHORT).show();
}
}
public void onStatusChanged(String provider, int status, Bundle extras) {}
public void onProviderEnabled(String provider) {}
public void onProviderDisabled(String provider) {}
};
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,0,0,locationListener);
}
}
el manifiesto:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.GpsTesting"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<application android:icon="@drawable/icon" android:label="@string/app_name" android:permission="android.permission.ACCESS_FINE_LOCATION">
<activity android:name=".GPS_TestActivity"
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_COARSE_LOCATION" />
</manifest>
es así, ¿ hay un problema en el código? Lo estoy haciendo usando un tutorial en línea (desde los desarrolladores de Android &).
Muchas gracias.
Notas Agregado:
cosa ** Realmente he weared. Intento ejecutar la aplicación usando el modo Eclipse (conectando mi dispositivo a través de USB & ejecutando la aplicación en el dispositivo en lugar de la aplicación) ... cuando lo intenté, ¡la aplicación funciona perfectamente sin problemas! mientras uso el método antiguo (enviando el archivo .apk a través del correo electrónico & y luego instalándolo desde el teléfono, ¡¡¡¡¡¡siempre me da la excepción !!) ¿alguien puede explicarme por qué sucede eso? Me estoy perdiendo de algo ?? ya que, soy conocido en el desarrollo de Android. entonces, me temo que me falta un punto ...
Estoy enviando a través del correo electrónico el archivo .apk que está en la carpeta bin (que está propósito de la prueba) ... Intenté con otra aplicación simple solo para asegurarme de que el archivo .apk que está disponible en la carpeta bin el derecho onw (para probar) o no, & funciona ... entonces, el archivo apk es bien ... pero ¿por qué para la aplicación de red no funciona mientras está en el eclipse? Gracias de antemano;) **
resolver;)
La solución para el problema i añadido un permiso antes en el manifiesto en la etiqueta de aplicación
androide: permiso = "androide .permission.ACCESS_FINE_LOCATION "
y fue duplicado porque ya se ha agregado a continuación (o porque está en el lugar equivocado). Así que lo eliminé & funciona correctamente.
Muchas gracias chicos
Por favor, después del registro con el StackTrace, o al menos lo que nos dicen excepción se llega y dónde exactamente. – MByD
¿Qué excepción obtienes? – jamapag
Sí, acceder al GPS de Android puede ser molesto. ¿Sabes qué tipo de excepción estás recibiendo? Ejecute el depurador en Eclipse o use 'adb logcat' (adb se encuentra en el directorio platform-tools del SDK de Android). –