Autore Topic: Geolocalizzazione non funziona  (Letto 381 volte)

Offline oberdank

  • Utente normale
  • ***
  • Post: 287
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Core LTE
  • Play Store ID:
    BuzzOne
  • Sistema operativo:
    Windows 8.1
Geolocalizzazione non funziona
« il: 02 Agosto 2015, 08:21:22 CEST »
0
Ho un problema con la Geolocalizzazione.

Il seguente programma da emulatore funziona, mentre testato su un cellulare reale NON funziona, appare la scritta
"Hello World!" e NON appare mai la posizione.

Con l'emulatore imposto la posizione tramite il "Android Device Monitor" (allego l'immagine).

********** MainActivity.java **********
Codice (Java): [Seleziona]
package prove.myapplication56;

import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.AsyncTask;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;

import java.util.List;
import java.util.Locale;

public class MainActivity extends ActionBarActivity implements LocationListener
{

    String providerId= LocationManager.GPS_PROVIDER;
    LocationManager locationManager=null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public void onResume()
    {
        super.onResume();
        locationManager=(LocationManager) getSystemService(LOCATION_SERVICE);
        locationManager.requestLocationUpdates(providerId,3000,20,this);
    }

    @Override
    public void onPause()
    {
        super.onPause();
        locationManager.removeUpdates(this);
    }

    public void onProviderEnabled(String s)
    {}

    public void onProviderDisabled(String s)
    {}

    public void onStatusChanged(String s,int i,Bundle b)
    {}

    public void onLocationChanged(Location location)
    {
        double longitudine,latitudine;
        longitudine=location.getLongitude();
        latitudine=location.getLatitude();
        TextView tv=(TextView) findViewById(R.id.textView1);
        tv.setText("Posizione: "+longitudine+" - "+latitudine);
    }
}

********** AndroidManifest.xml **********
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="prove.myapplication56" >

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

    <application
       android:allowBackup="true"
       android:icon="@mipmap/ic_launcher"
       android:label="@string/app_name"
       android:theme="@style/AppTheme" >
        <activity
           android:name=".MainActivity"
           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>

</manifest>

********** activity_main.xml **********
Codice (XML): [Seleziona]
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
   android:orientation="vertical"
   android:layout_height="match_parent"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   tools:context=".MainActivity">

    <TextView android:text="@string/hello_world"
       android:id="@+id/textView1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content" />
</LinearLayout>


Post unito: 02 Agosto 2015, 08:22:25 CEST
Ecco l'immagine