it-swarm.com.de

Place Picker Nach dem Start automatisch schließen

Ich möchte die Ortsauswahl zeigen, damit der Benutzer den Ort seiner Wahl auswählen kann. Die Aktivität "Platzhalter" wird jedoch nach dem Start automatisch geschlossen. Ich habe den API-Schlüssel mehrmals überprüft und andere Berechtigungen, alles ist korrekt. Hier ist der ganze Code. Bitte helfen

task_location.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            try {
                PlacePicker.IntentBuilder intentBuilder = new PlacePicker.IntentBuilder();
                Intent intent = intentBuilder.build(NewTaskActivity.this);
                // Start the Intent by requesting a result, identified by a request code.
                startActivityForResult(intent, 123);


            } catch (GooglePlayServicesRepairableException e) {
                GooglePlayServicesUtil
                        .getErrorDialog(e.getConnectionStatusCode(), NewTaskActivity.this, 0);
            } catch (GooglePlayServicesNotAvailableException e) {
                Toast.makeText(NewTaskActivity.this, "Google Play Services is not available.",
                        Toast.LENGTH_LONG)
                        .show();
            }
        }
    });

Und hier ist die Manifest-Datei.

<uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION" />
<uses-permission Android:name="com.google.Android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission Android:name="Android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission Android:name="Android.permission.WAKE_LOCK" />

<uses-feature
    Android:glEsVersion="0x00020000"
    Android:required="true" />
<application
    Android:allowBackup="true"
    Android:icon="@mipmap/ic_launcher"
    Android:label="@string/app_name"
    Android:theme="@style/AppTheme"
    tools:replace="Android:icon">

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

    <meta-data
        Android:name="com.google.Android.geo.API_KEY"
        Android:value="AIzaSyAjM9hWUXm8vlABqFbM_fJfQgIFli8HP1E"/>
12
Zeeshan Ahmed

Nach langem Debugging habe ich es selbst gelöst. Das Problem war der Paketname. Android Studio verwaltet den Paketnamen bei der Projekterstellung selbst. Ich ändere den Paketnamen im Manifest und es hat perfekt funktioniert. Wenn ich jedoch den API-Schlüssel von der Google-Entwicklerkonsole für die Ortsauswahl bekomme, wird die Ortsauswahl automatisch geschlossen, ohne dass ein einzelner Fehler auftritt. 

Dann ändere ich den Paketnamen, indem Sie zu -> Moduleinstellungen -> Flavors gehen und die Anwendungs-ID ändern und das Problem beheben.

11
Zeeshan Ahmed

Überprüfen Sie das Logcat Ihrer App nach der Nachricht 'PLACES_API_ACCESS_NOT_CONFIGURED'. In diesem Fall sollte das Problem durch das Aktivieren der Google Places-API für Android in Ihrer Google Developer Console für dieses Projekt gelöst werden.

27
mkaminski

Stellen Sie sicher, dass die Google Places-API für den in der Google API-Konsole verwendeten API-Schlüssel aktiviert ist. Für mich verwende ich denselben API-Schlüssel, den ich für Karten verwende. Ich habe einfach den gleichen Schlüssel für Orte API aktiviert. Das Problem wurde behoben. Verwenden Sie diesen Link, um auf die Google-Konsole zuzugreifen: https://console.developers.google.com/flows/enableapi?apiid=placesandroid&reusekey=true

2
Gopi Ande

Problem gelöst, indem einfach der API-Schlüssel geändert wurde

Sie können einen neuen Schlüssel von hier erstellen.

1
Hardik Lakhani

Aktivieren Sie beide Places-API sowie Places-SDK

0
Mayank Mishra

Aktivieren Sie anstelle der Orts-API das Orts-SDK für Android. Arbeitete für mich. Viel Glück :)