Autore Topic: MapActivity Couldn't get connection factory client  (Letto 898 volte)

Offline IvanDig

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia s
  • Sistema operativo:
    Windows 7
MapActivity Couldn't get connection factory client
« il: 11 Aprile 2012, 12:42:40 CEST »
0
Ciao a tutti! Da ieri sto provando ad implementare una mappa di google ma ogni volta che la mando in esecuzione dal log cat mi ristituisce l'errore "MapActivity(378): Couldn't get connection factory client", ho provato a rigenerare l' API KEY ma continua a darmi l'errore.
Questo è il LogCat restituito:

Codice: [Seleziona]
04-11 12:33:44.678: D/dalvikvm(378): GC_CONCURRENT freed 377K, 49% free 3026K/5831K, external 716K/1038K, paused 7ms+5ms
04-11 12:33:45.208: D/dalvikvm(378): GC_CONCURRENT freed 564K, 50% free 3020K/6023K, external 716K/1038K, paused 5ms+12ms
04-11 12:33:45.498: D/dalvikvm(378): GC_CONCURRENT freed 318K, 47% free 3214K/6023K, external 716K/1038K, paused 5ms+8ms
04-11 12:33:45.897: D/dalvikvm(378): GC_CONCURRENT freed 449K, 47% free 3324K/6215K, external 716K/1038K, paused 6ms+21ms
04-11 12:33:46.698: D/dalvikvm(378): GC_CONCURRENT freed 332K, 45% free 3504K/6279K, external 716K/1038K, paused 8ms+88ms
04-11 12:33:47.427: I/Maps.MyLocationOverlay(378): Request updates from gps
04-11 12:33:47.427: I/Maps.MyLocationOverlay(378): Request updates from network
04-11 12:33:47.467: I/Maps.MyLocationOverlay(378): Request updates from gps
04-11 12:33:47.477: I/Maps.MyLocationOverlay(378): Request updates from network
04-11 12:33:47.587: I/MapActivity(378): Handling network change notification:CONNECTED
04-11 12:33:47.587: E/MapActivity(378): Couldn't get connection factory client
04-11 12:33:47.807: D/dalvikvm(378): GC_FOR_MALLOC freed 584K, 50% free 3236K/6471K, external 871K/1038K, paused 52ms
04-11 12:33:47.947: D/dalvikvm(378): GC_FOR_MALLOC freed 357K, 53% free 3078K/6471K, external 871K/1038K, paused 42ms

Questo è il manifest della mia apllicazione:

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.ivan.it"
   android:versionCode="1"
   android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
    <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

    <application
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name" >
       
        <uses-library android:name="com.google.android.maps" />
       
        <activity
           android:name=".MappaGoogleActivity"
           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>
« Ultima modifica: 11 Aprile 2012, 12:44:11 CEST da IvanDig »

Offline IvanDig

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia s
  • Sistema operativo:
    Windows 7
Re:MapActivity Couldn't get connection factory client
« Risposta #1 il: 11 Aprile 2012, 12:46:08 CEST »
0
Ho scordato di inserire il codice della mia classe. Qualsiasi informazione mi sarebbe di grande aiuto non riesco a risolvere il problema. Grazie!!!

Codice (Java): [Seleziona]
import java.util.List;

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 android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;

public class MappaGoogleActivity extends MapActivity {
        private TextView tvLatitudine;
        private TextView tvLongitudine;
        private TextView tvVelocita;
        private TextView tvQuota;
        private TextView tvAccuratezza;

        //Riferimento alla MapView
        private MapView mapView;

        //Riferimento al MapController
        MapController mapController;

        //Riferimento al MyLocationOverlay
        private MyLocationOverlay myLocationOverlay;

        // Otteniamo il riferimento al LocationManager
        LocationManager locationManager;

        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);

                tvLatitudine = (TextView)this.findViewById(R.id.tvLatitudine);
                tvLongitudine = (TextView)this.findViewById(R.id.tvLongitudine);
                tvVelocita = (TextView)this.findViewById(R.id.tvVelocita);
                tvQuota = (TextView)this.findViewById(R.id.tvQuota);
                tvAccuratezza = (TextView)this.findViewById(R.id.tvAccuratezza);

                // Otteniamo il riferimento alla MapView
                mapView = (MapView)findViewById(R.id.mapView);

                // Otteniamo il riferimento al controller
                mapController = mapView.getController();

                // Rendiamo la mappa cliccabile e quindi ne permettiamo il pan
                mapView.setClickable(true);

                // Utiliziamo i controlli predefiniti per la gestione delle operazioni di zoom
                mapView.setBuiltInZoomControls(true);

                // Impostiamo la distanza dello Zoom a 12 (valori validi da 1 a 21).
                mapController.setZoom(12);

                // Aggiungiamo l'overlay sulla mappa della nostra posizione
                myLocationOverlay = new MyLocationOverlay(this, mapView);
                List<Overlay> overlays = mapView.getOverlays();
                overlays.add(myLocationOverlay);
                myLocationOverlay.enableMyLocation();

                // Otteniamo il riferimento al LocationManager
                locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

                // Verifichiamo se il GPS è abilitato altrimenti avvisiamo l'utente
                if(!locationManager.isProviderEnabled("gps")){
                        Toast.makeText(this, "GPS è attualmente disabilitato. E' possibile abilitarlo dal menu impostazioni.", Toast.LENGTH_LONG).show();
                }

                // Registriamo il LocationListener al provider GPS
                locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
        }

        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.animateTo(point);

                        tvLatitudine.setText(Double.toString(getRound(location.getLatitude(), 5)));
                        tvLongitudine.setText(Double.toString(getRound(location.getLongitude(), 5)));
                        tvVelocita.setText(Double.toString(getRound(location.getSpeed()*3.6, 1))+" km/h");
                        tvQuota.setText(Integer.toString((int)location.getAltitude())+" m");
                        tvAccuratezza.setText(Integer.toString((int)location.getAccuracy())+" m");
                }

                @Override
                public void onProviderDisabled(String provider) {
                        Toast.makeText(MappaGoogleActivity.this,
                                        "onProviderDisabled "+provider, Toast.LENGTH_SHORT).show();
                }

                @Override
                public void onProviderEnabled(String provider) {
                        Toast.makeText(MappaGoogleActivity.this,
                                        "onProviderEnabled "+provider, Toast.LENGTH_SHORT).show();
                }

                @Override
                public void onStatusChanged(String provider, int status,Bundle extras) {
                        Toast.makeText(MappaGoogleActivity.this,
                                        "onStatusChanged "+provider+" status: "+status, Toast.LENGTH_SHORT).show();
                }
        };

        @Override
        public void onPause() {
                super.onPause();
                // Stoppa Listener delle posizioni
                if(locationManager != null){
                        locationManager.removeUpdates(locationListener);
                        myLocationOverlay.disableMyLocation();
                }
        }

        @Override
        protected void onResume() {
                super.onResume();
                // Registriamo il LocationListener al provider GPS
                locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
                myLocationOverlay.enableMyLocation();
        }

        public static double getRound(double x, int digits){
                double powerOfTen = Math.pow(10, digits);
                return ((double)Math.round(x * powerOfTen) / powerOfTen);
        }

       
        protected boolean isRouteDisplayed() {
                // TODO Auto-generated method stub
                return false;
        }