CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: complicazio con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 11 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 1 su 1
Discussione:

Problema onProviderDisabled/Enabled

Se questa discussione ti č stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Senior Droid


    Registrato dal
    Jan 2012
    Messaggi
    304
    Smartphone
    LG G6

    Ringraziamenti
    76
    Ringraziato 3 volte in 3 Posts
    Predefinito

    Problema onProviderDisabled/Enabled

    Scusate ma ho editato....vorrei solo chiedere com'č é possibile aggiustare l' accelerometro per evitare che mi ricompaiano le varie notifiche...e se c'č un modo per controllare se disattivato il gps e mi aggiorna l' overlay con quello del wifi.
    Parte che precede il metodo onCreate

    codice:
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    
    import android.content.Context;
    import android.graphics.drawable.Drawable;
    import android.location.Location;
    import android.location.LocationListener;
    import android.location.LocationManager;
    import android.net.wifi.ScanResult;
    import android.net.wifi.WifiManager;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.SubMenu;
    import android.view.Window;
    import android.widget.ListView;
    import android.widget.SimpleAdapter;
    import android.widget.TextView;
    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 CustomControllerMapActivity extends MapActivity{
    	/*
    	 * Tag del log
    	 */
    	private final static String LOG_TAG = "CustomControllerMapActivity";
    	/*
    	 
    	 */
    
    	/*
    	 * Riferimento alla MapView
    	 */
    	private MapView mapView;
    	/*
    	 * Riferimento al MapController
    	 */
    	private MapController mapController;	
    	
        //Riferimento al MyLocationOverlay
        private MyLocationOverlay myLocationOverlay;
        
    
        // Otteniamo il riferimento al LocationManager
        LocationManager locationManager;
        
    
        
        //Riferimento al provider
        Location location;
          
        	LocationListener locationListener = new LocationListener() {
        
           // @Override
              public void onLocationChanged(Location location) {
                      // Aggiorna il marker della mappa
                      mapView.invalidate();
    
                      // Aggiorna la location
                      Double geoLat = location.getLatitude()*1E6;
                      Double geoLng = location.getLongitude()*1E6;
                      GeoPoint point = new GeoPoint(geoLat.intValue(), geoLng.intValue());
                      mapController.setCenter(point);
              }
    
             // @Override
              public void onProviderDisabled(String provider) {
                      Toast.makeText(CustomControllerMapActivity.this,
                                      "GPS disabilitato", Toast.LENGTH_SHORT).show();
                     
              }
    
             // @Override
              public void onProviderEnabled(String provider) {
                      Toast.makeText(CustomControllerMapActivity.this,
                                      "GPS abilitato", Toast.LENGTH_SHORT).show();
              }
    
            //  @Override
              public void onStatusChanged(String provider, int status,Bundle extras) {
                      Toast.makeText(CustomControllerMapActivity.this,
                                      "onStatusChanged "+provider+" status: "+status, Toast.LENGTH_SHORT).show();
              }
              
            
      };
        
    
    	public void updateLocationOverlay() {
    			if (location == null) { return; }
    				List<Overlay> mapOverlays = mapView.getOverlays();
    					Drawable drawable = this.getResources().getDrawable(R.drawable.freccia);
    					MyItemizedOverlay myItemizedOverlay = new MyItemizedOverlay(drawable);
    					GeoPoint point = new GeoPoint((int)(location.getLatitude() * 1E6), (int)(location.getLongitude() * 1E6));
    
    					OverlayItem overlayitem = new OverlayItem(point, "", "");
    					myItemizedOverlay.addOverlay(overlayitem);
    					mapOverlays.add(myItemizedOverlay);
    					mapController.setCenter(point);
    					mapController.animateTo(point);
    	}
    	
    	
    	
    	//Componente per la ricerca delle reti
    	WifiManager wifi;    
    	int size = 0;
        List<ScanResult> results;
        
        String ITEM_KEY = "key";
        ArrayList<HashMap<String, String>> arraylist = new ArrayList<HashMap<String, String>>();
        SimpleAdapter adapter;
        ListView lv;
        TextView textStatus;
    
    
        
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            
            // Mettiamo la View a tutto schermo
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            
            //Visualizziamo la mappa
            setContentView(R.layout.main);
            
            // Otteniamo il riferimento alla MapView
            mapView = (MapView)findViewById(R.id.mapView);
            
            
            // Otteniamo il riferimento al LocationManager
            locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
            
            
            //Verifichiamo se il GPS č abiliato
            if(!locationManager.isProviderEnabled("gps")){
                    Toast.makeText(this, "GPS disabilitato. Abilitare per una maggiore precisione.", Toast.LENGTH_LONG).show();
            }
            
            // Otteniamo il riferimento al controller
            mapController = mapView.getController();
            Log.i(LOG_TAG, "MapController obtained!");
            mapController.setZoom(20);
    
            // Rendiamo la mappa cliccabile e quindi ne permettiamo
            // il pan
            mapView.setClickable(true);
            mapView.setBuiltInZoomControls(true);
            
            // Registriamo il LocationListener al provider GPS
            locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5, 1, locationListener);
         
         
            //Usiamo il provider Location GPS
            location= locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
            
          
            
            
          
    
          if(!locationManager.isProviderEnabled("gps")){  //Non c' č il gps, utilizzo la rete
            	
        	  locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 5, 1, locationListener);
        	  location= locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 
        	  MyLocationOverlay myLocationOverlay = new MyLocationOverlay(this, mapView);
              List<Overlay> overlays = mapView.getOverlays();
              overlays.add(myLocationOverlay);
              myLocationOverlay.enableMyLocation();	
              Toast.makeText(this, "Ecco la tua posizione: "+location.getLatitude()+": "+location.getLongitude(), Toast.LENGTH_LONG).show();
          }
            
            	
    
          else {
            	
        	 /* // Registriamo il LocationListener al provider GPS
              locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5, 1, locationListener);
           
           
              //Usiamo il provider Location GPS
              location= locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);*/
          	
            	this.updateLocationOverlay();
            	 Toast.makeText(this, "Ecco la tua posizione: "+location.getLatitude()+": "+location.getLongitude(), Toast.LENGTH_LONG).show();
            }
    }

    Parte relativa all' onCreate:

    codice:
     /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            
            // Mettiamo la View a tutto schermo
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            
            //Visualizziamo la mappa
            setContentView(R.layout.main);
            
            // Otteniamo il riferimento alla MapView
            mapView = (MapView)findViewById(R.id.mapView);
            
            
            // Otteniamo il riferimento al LocationManager
            locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
            
            
            //Verifichiamo se il GPS č abiliato
            if(!locationManager.isProviderEnabled("gps")){
                    Toast.makeText(this, "GPS disabilitato. Abilitare per una maggiore precisione.", Toast.LENGTH_LONG).show();
            }
            
            // Otteniamo il riferimento al controller
            mapController = mapView.getController();
            Log.i(LOG_TAG, "MapController obtained!");
            mapController.setZoom(20);
    
            // Rendiamo la mappa cliccabile e quindi ne permettiamo
            // il pan
            mapView.setClickable(true);
            mapView.setBuiltInZoomControls(true);
            
          
            
            
          
    
          if(!locationManager.isProviderEnabled("gps")){  //Non c' č il gps, utilizzo la rete
            	
        	  locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 5, 1, locationListener);
        	  location= locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 
        	  MyLocationOverlay myLocationOverlay = new MyLocationOverlay(this, mapView);
              List<Overlay> overlays = mapView.getOverlays();
              overlays.add(myLocationOverlay);
              myLocationOverlay.enableMyLocation();	
              Toast.makeText(this, "Ecco la tua posizione: "+location.getLatitude()+": "+location.getLongitude(), Toast.LENGTH_LONG).show();
          }
            
            	
    
          else {
            	
        	  // Registriamo il LocationListener al provider GPS
              locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5, 1, locationListener);
           
           
              //Usiamo il provider Location GPS
              location= locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
          	
            	this.updateLocationOverlay();
            	 Toast.makeText(this, "Ecco la tua posizione: "+location.getLatitude()+": "+location.getLongitude(), Toast.LENGTH_LONG).show();
            }
    }
    Ultima modifica di Darčios89; 01-09-12 alle 12:57

  2.  

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy