Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 20/02/13, 19:52:36
Array

[xs_avatar]
carrobe1390 carrobe1390 no está en línea
Miembro del foro
 
Fecha de registro: feb 2013
Localización: Guayaquil
Mensajes: 47
Modelo de smartphone: Samsung Galaxy S3
Tu operador: Claro
Error al remover actualizaciones del gps

Tengo el sgte codigo el cual me localiza tanto por gps como por la red mi posicion

package com.example.proyectojw;

import java.util.List;

import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.location.GpsStatus.Listener;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.Window;
import android.widget.Button;
import android.widget.Toast;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.MyLocationOverlay;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;

public class MainMapa extends MapActivity {
MapController mapController;
Location location,locationg;
MapView mapView;
Button bt1;
Toast toast;
LocationManager locationManager ,locationManagerg;
MyLocationOverlay mlo;
Context mContext;
Boolean isNetworkEnabled;
Double lat,lng,pre;
ProgressDialog dialog;
GeoPoint point;
LocationListener loclg,locl;
Listener listener;

private static final int DIALOGO_CONFIRMACION = 1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main_map);
wifienabled();
//posicion();
}

@Override
public void onBackPressed() {
showDialog(DIALOGO_CONFIRMACION);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
getMenuInflater().inflate(R.menu.activity_main_map , menu);
return true;
}

public void wifienabled(){
WifiManager myWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);

if(myWifiManager.isWifiEnabled()){
initializenetwork();
posicion();
toast = Toast.makeText(getApplicationContext(), "Conexion Wi-Fi On", Toast.LENGTH_LONG);
toast.setDuration(1500);
toast.show();

}
else{toast = Toast.makeText(getApplicationContext(), "Conexion Wi-Fi Off", Toast.LENGTH_LONG);
toast.setDuration(1500);
toast.show();}
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_wifi:
WifiManager myWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
isNetworkEnabled = myWifiManager.isWifiEnabled();
myWifiManager.setWifiEnabled(true);

if(myWifiManager.isWifiEnabled())
{toast = Toast.makeText(getApplicationContext(), "Tu Conexion Wi-Fi Esta On", Toast.LENGTH_LONG);
toast.setDuration(1500);
toast.show();
initializenetwork();
}else
{

posicion();
toast = Toast.makeText(getApplicationContext(), "Conexion Wi-Fi On", Toast.LENGTH_LONG);
toast.setDuration(1500);
toast.show();
}
break;
case R.id.menu_rotation:
toast = Toast.makeText(getApplicationContext(), "Rotacion Del Mapa On", Toast.LENGTH_LONG);
toast.setDuration(1500);
toast.show();
// Intent intent = new Intent(MainMapa.this, MapViewCompassDemo.class);
// startActivity(intent);
}
return false;
}


protected Dialog onCreateDialog(int id) {
Dialog dialogo = null;
switch(id)
{
case DIALOGO_CONFIRMACION:
dialogo = crearDialogoConfirmacion();
break;
default:
dialogo = null;
break;
}

return dialogo;
}


private Dialog crearDialogoConfirmacion()
{

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("Salir¿?");
builder.setIcon(R.drawable.android_48);
builder.setMessage("¿Confirma que desea salir de la aplicacion?");
builder.setPositiveButton("Aceptar", new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Log.i("Dialogos", "Saliendo");
locationManager.removeUpdates(locl);
locationManagerg.removeUpdates(loclg);
finish();
}
});
builder.setNegativeButton("Cancelar", new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Log.i("Dialogos", "Cobarde ¬¬.");
toast = Toast.makeText(getApplicationContext(), "Cobarde ¬¬", Toast.LENGTH_LONG);
toast.setDuration(1500);
toast.show();
dialog.cancel();
}
});

return builder.create();
}

public void initializeGPS(){

locationManagerg = (LocationManager)getSystemService(Context.LOCATION _SERVICE);
locationg = locationManagerg.getLastKnownLocation(LocationMana ger.GPS_PROVIDER);
loclg = new LocationListener() {

@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub

}

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

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

@Override
public void onStatusChanged(String provider, int status,
Bundle extras) {
// TODO Auto-generated method stub
}

};
locationManagerg.requestLocationUpdates(LocationMa nager.GPS_PROVIDER, 500, 0, loclg);
locationg = locationManagerg.getLastKnownLocation(LocationMana ger.GPS_PROVIDER);

}

public void initializenetwork(){

locationManager = (LocationManager)getSystemService(Context.LOCATION _SERVICE);
location = locationManager.getLastKnownLocation(LocationManag er.NETWORK_PROVIDER);
locl = new LocationListener() {

@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub

}

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

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

@Override
public void onStatusChanged(String provider, int status,
Bundle extras) {
// TODO Auto-generated method stub
}

};
locationManager.requestLocationUpdates(LocationMan ager.NETWORK_PROVIDER, 500, 0, locl);
}


private void posicion(){
mapView = (MapView)findViewById(R.id.mapa);
mapView.setBuiltInZoomControls(true);
mapView.setSatellite(true);
mapView.setStreetView(true);
mapView.setTraffic(true);

mapController = mapView.getController();

lat = location.getLatitude()*1E6;
lng = location.getLongitude()*1E6;
pre = location.getAccuracy()*1E6;
List<Overlay> mapOverlays = mapView.getOverlays();
mlo = new MyLocationOverlay(this, mapView);
Drawable drawable = this.getResources().getDrawable(R.drawable.map_pin _32);
MyOverlay itemizedOverlay = new MyOverlay(drawable, this);

point = new GeoPoint(lat.intValue(),lng.intValue());

Toast.makeText(getApplicationContext(), "Tu Localizacion es : \nLat: " + lat + "\nLong: " + lng +
"\nPre: "+pre, Toast.LENGTH_LONG).show();
OverlayItem overlayitem = new OverlayItem(point, "Su posicion actual es : ", "Latitud: " + lat + "\nLongitud: " + lng +
"\nPrecision: "+pre);

itemizedOverlay.addOverlay(overlayitem);
mapOverlays.add(itemizedOverlay);
mapController.setCenter(point);
mapController.animateTo(point);
mapController.setZoom(16);

mlo.enableMyLocation();
mlo.enableCompass();
mapOverlays.add(mlo);
mapView.postInvalidate();
}

@Override
protected boolean isRouteDisplayed() {
return false;
}


}

Pero el problema es con el gps cuando intento remover las actualizaciones me refleja el sgte mensaje

FATAL EXCEPTION : main
java.lang.NullPointerException
at com.example.proyectojw.MainMapa$1.onClick(MainMapa .java:148)

y la linea del error es la sgte
locationManagerg.removeUpdates(loclg);

Alguien me hecha una mano?
Responder Con Cita


Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 19:03:18 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /