Domanda

Sto sviluppando un'applicazione Andorida che richiede Google Maps all'applicazione.

Per questo sto usando lo stesso esempio nel seguente link.

link per Google Maps.

In che ho applicato la chiave API applicata al file del manifestista Andorid.

<meta-data
   android:name="com.google.android.maps.v2.API_KEY"
   android:value="API KEY" />
.

e sto facendo seguenti errori.

         FATAL EXCEPTION: main
 android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=market://details?id=com.google.android.gms flg=0x80000 pkg=com.android.vending }
    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1622)
    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1417)
    at android.app.Activity.startActivityForResult(Activity.java:3370)
    at android.app.Activity.startActivityForResult(Activity.java:3331)
    at android.app.Activity.startActivity(Activity.java:3566)
    at android.app.Activity.startActivity(Activity.java:3534)
    at com.google.android.gms.dynamic.a$5.onClick(Unknown Source)
    at android.view.View.performClick(View.java:4202)
    at android.view.View$PerformClick.run(View.java:17340)
    at android.os.Handler.handleCallback(Handler.java:725)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:5039)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
    at dalvik.system.NativeStart.main(Native Method)
.

Il mio file XML è:

<fragment
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.MapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
.

Il mio file manifest Andorid è:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="info.androidhive.googlemapsv2"
    android:versionCode="1"
    android:versionName="1.0" >

    <permission
        android:name="info.androidhive.googlemapsv2.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

    <uses-permission android:name="info.androidhive.googlemapsv2.permission.MAPS_RECEIVE" />

    <uses-sdk
        android:minSdkVersion="12"
        android:targetSdkVersion="17" />

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <!-- Required to show current location -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <!-- Required OpenGL ES 2.0. for Maps V2 -->
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

    <!-- Requires OpenGL ES version 2 -->
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name">
        <activity
            android:name="info.androidhive.googlemapsv2.MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppBaseTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!-- Goolge API Key -->
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="My App Key" />
    </application>

</manifest>
.

Avevo aggiunto Google-Play-Services_lib anche al mio progetto.

Aiutami dove ricevo l'errore?E cosa dovrei fare per risolvere questi errori.

e anche dimmi nella domanda di cui sopra, dove devo cambiare.

Grazie.

È stato utile?

Soluzione

Il tuo logcat ha chiaramente detto

.

causato da: java.lang.illegalstateException: il tag meta-data nel tuo Androidmanifest.xml dell'app non ha il valore giusto.Previsto 4323000 ma trovato 0. È necessario avere la seguente dichiarazione all'interno L'elemento:

Prova ad aggiungere la versione di Google Play Services utilizzando il tag <meta-data> sotto il tag <application> nel tuo file manifest.xml come

<meta-data
 android:name="com.google.android.gms.version"
 android:value="@integer/google_play_services_version" />
.

crea il tuo manifest.xml come

....<application>
 ..............
<meta-data
 android:name="com.google.android.maps.v2.API_KEY"
android:value="Key" />

 <meta-data android:name="com.google.android.gms.version"  
 android:value="@integer/google_play_services_version" />

</application>
.

Altri suggerimenti

Problema:

.

causato da: java.lang.illegalstateException: il tag meta-data nel tuo Androidmanifest.xml dell'app non ha il valore giusto.Previsto 4323000 ma trovato 0. È necessario avere la seguente dichiarazione all'interno L'elemento:

Soluzione:

Includi la versione di Google Play Services all'interno del tuo file manifest.

<meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
.

Puoi leggere su Riferimento di Google Play Services .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top