salve ragazzi, devo fare un pezzo di codice in cui, cliccato su un bottone, viene rilevata la posizione tramite gps(dovrò farlo anche per la rete)
Il problema è che non me la rileva(non so perchè eclipse non invia le cordinate quindi devo provare sempre sul cell).
Un primo errore è che non attende il rilevamento, dovrei fare un popup rilevamento fino a che non è collegato il segnale.
Il secondo errore è che nn entra nel trycatch della posizione, ecco il codice(anche abbastanza semplice eppure ho fatto qualche errore che non trovo)
codice:private String providerId = LocationManager.GPS_PROVIDER; private String citta; private String indirizzo; private Geocoder geocoder; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_posizione); final AlertDialog.Builder gpsAlertBuilder = new AlertDialog.Builder(this); final LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); geocoder=new Geocoder(this); final Location location = locationManager.getLastKnownLocation(providerId); Button button=(Button)findViewById(R.id.buttonGps); button.setOnClickListener(new OnClickListener() { public void onClick(View v) { //Messaggio per attivazione gps se disattivato if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) { gpsAlertBuilder.setIcon(R.drawable.attenzione); gpsAlertBuilder.setTitle("Attivazione"); gpsAlertBuilder .setMessage("E' necessario attivare GPS e connessione internet"); gpsAlertBuilder.setCancelable(false); gpsAlertBuilder.setPositiveButton("Attiva", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { startActivityForResult( new Intent( android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS), 0); } }); gpsAlertBuilder.setNegativeButton("Annulla", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { System.exit(0); } }); AlertDialog gpsAlert = gpsAlertBuilder.create(); gpsAlert.show(); } //Fine messaggio attivazione //Rilevare posizione Address address; try { address = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1).get(0); citta=address.getLocality(); indirizzo=address.getAddressLine(0); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); Button buttonConfirm=(Button)findViewById(R.id.buttonConferma); buttonConfirm.setOnClickListener(new OnClickListener() { public void onClick(View v) { //passiamo i dati all'activity chiamante Intent intent=new Intent(getApplicationContext(), InserisciActivity.class); String pkg=getPackageName(); intent.putExtra(pkg+".myCity", citta); intent.putExtra(pkg+".myAddress", indirizzo); startActivity(intent); //facciamo partire la seconda activity } }); }

LinkBack URL
About LinkBacks
Rispondi quotando