Google Places-API für Android-Fehler: Status{statusCode=NETWORK_ERROR, Auflösung=null}

Ich habe ein Projekt erstellt unter der google developer-Konsole und wollte die Verwendung von Google Places API für Android. Ich konnte die API und Integration in mein android-Anwendung, wie pro die Richtlinien, die auf Google-Entwickler-website (https://developers.google.com/places/android/start). Die API gibt diesen Fehler, und nach Stunden (und Tage) Fehlersuche und recherche im internet konnte ich nicht, das problem einzugrenzen. Führt würde geschätzt werden, über das warum dieser Fehler kommt.

Fehler: Status{statusCode=NETWORK_ERROR, resolution=null}

Im folgenden wird die Funktion aus dem google-Beispiel-code, wo Orte "Auto-Vervollständigen" aufgerufen.

private ArrayList<PlaceAutocomplete> getAutocomplete(CharSequence constraint) {
    if (mGoogleApiClient != null) {
        Log.i(TAG, "Starting autocomplete query for: " + constraint);

        //Submit the query to the autocomplete API and retrieve a PendingResult that will
        //contain the results when the query completes.
        PendingResult<AutocompletePredictionBuffer> results =
                Places.GeoDataApi
                        .getAutocompletePredictions(mGoogleApiClient, constraint.toString(),
                                mBounds, mPlaceFilter);

        //This method should have been called off the main UI thread. Block and wait for at most 60s
        //for a result from the API.
        AutocompletePredictionBuffer autocompletePredictions = results
                .await(60, TimeUnit.SECONDS);

        //Confirm that the query completed successfully, otherwise return null
        final Status status = autocompletePredictions.getStatus();
        if (!status.isSuccess()) {
            Toast.makeText(getContext(), "Error contacting API: " + status.toString(),
                    Toast.LENGTH_SHORT).show();
            Log.e(TAG, "Error getting autocomplete prediction API call: " + status.toString());
            autocompletePredictions.release();
            return null;
        }

        Log.i(TAG, "Query completed. Received " + autocompletePredictions.getCount()
                + " predictions.");

        //Copy the results into our own data structure, because we can't hold onto the buffer.
        //AutocompletePrediction objects encapsulate the API response (place ID and description).

        Iterator<AutocompletePrediction> iterator = autocompletePredictions.iterator();
        ArrayList resultList = new ArrayList<>(autocompletePredictions.getCount());
        while (iterator.hasNext()) {
            AutocompletePrediction prediction = iterator.next();
            //Get the details of this prediction and copy it into a new PlaceAutocomplete object.
            resultList.add(new PlaceAutocomplete(prediction.getPlaceId(),
                    prediction.getDescription()));
        }

        //Release the buffer now that all data has been copied.
        autocompletePredictions.release();

        return resultList;
    }
    Log.e(TAG, "Google API client is not connected for autocomplete query.");
    return null;
}

AndroidManifiest.xml Berechtigungen

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-feature android:glEsVersion="0x00020000" android:required="true"/>
Hast du das problem lösen?
Noch nicht. Denken mit dem server-API-Aufruf statt.
Ist Ihre mPlaceFilter == null?
Versuchen Sie, machen es zu null. Für mich ist es problem behoben.
Filter sind ... sagen wir noch immer in der Entwicklung für jetzt github.com/googlesamples/android-play-places/issues/6

InformationsquelleAutor Sharief Shaik | 2015-04-24

Schreibe einen Kommentar