![]() |
|
| 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 |
«
Tema Anterior
|
Siguiente tema
»
|
|
Herramientas |
|
#1
|
|
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? |
|
|
| Respuesta |
Estás aquí
|
||||||
|
||||||
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 23:38:20 (GMT +1)
HTCMania: líderes desde el 2007





