Ich kann den Platzwähler in meiner App nicht verwenden. Die API funktionierte dann nur einen Tag ohne Erklärung. Der Picker erscheint für eine sehr kurze Zeit und schließt dann ohne Ausnahme und nichts in den Protokollen. Die Funktion onActivityResult wird mit requestCode = 1, resultCode = 2 (Fehlercode) und ohne Daten aufgerufen. Der Beispielcode von Google macht das Gleiche. Ich habe alles versucht, damit das funktioniert. Irgendjemand Ähnliches erfahren? Hilfe bitte.Google Places-API für Android-Platzwähler funktioniert nicht
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.easy.parcelapp."
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="22" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<application
android:name=".EasiParcelApplication"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyDEcV-My-Actual-API-Key-goes-here" />
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Holo.Light.NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".RegistrationActivity"
android:label="@string/title_activity_register"
android:parentActivityName=".MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.easiparcel.MainActivity" />
</activity>
<activity
android:name=".JobListingActivity"
android:label="@string/title_activity_listing" >
</activity>
<activity
android:name=".NewJobActivity"
android:label="@string/title_activity_new_job"
android:parentActivityName=".JobListingActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.easiparcel.JobListingActivity" />
</activity>
<activity
android:name=".NewJobConfirmation"
android:label="@string/title_activity_new_job_confirmation"
android:parentActivityName=".NewJobActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.easiparcel.NewJobActivity" />
</activity>
<activity
android:name=".JobDetails"
android:label="@string/title_activity_job_details"
android:parentActivityName=".JobListingActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.easiparcel.JobListingActivity" />
</activity>
</application>
</manifest>
Activity.java
public void HandleSenderAddressPickerClicked(View view)
{
int PLACE_PICKER_REQUEST = 1;
LoadPlacePicker(PLACE_PICKER_REQUEST);
}
public void HandleRecieverAddressPickerClicked(View view)
{
int PLACE_PICKER_REQUEST = 2;
LoadPlacePicker(PLACE_PICKER_REQUEST);
}
private void LoadPlacePicker(int PlacePickerRequest)
{
try {
PlacePicker.IntentBuilder intentBuilder = new PlacePicker.IntentBuilder();
Intent intent = intentBuilder.build(NewJobActivity.this);
// Start the Intent by requesting a result, identified by a request code.
startActivityForResult(intent, PlacePickerRequest);
} catch (GooglePlayServicesRepairableException e) {
GooglePlayServicesUtil
.getErrorDialog(e.getConnectionStatusCode(), NewJobActivity.this, 0);
} catch (GooglePlayServicesNotAvailableException e) {
Toast.makeText(NewJobActivity.this, "Google Play Services is not available.",
Toast.LENGTH_LONG)
.show();
}
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if (resultCode == RESULT_OK) {
Place place = PlacePicker.getPlace(data, this);
String toastMsg = String.format("Sender Place: %s", place.getName());
Toast.makeText(this, toastMsg, Toast.LENGTH_LONG).show();
}
}
//Reciever
if (requestCode == 2) {
if (resultCode == RESULT_OK) {
Place place = PlacePicker.getPlace(data, this);
String toastMsg = String.format("Receiver Place: %s", place.getName());
Toast.makeText(this, toastMsg, Toast.LENGTH_LONG).show();
}
}
}
Das löste mein Problem auch. Aber das Seltsame ist, dass ich diese API aktiviert hatte und vor 10 Tagen funktionierte der Platzwähler. Aber als es plötzlich aufgehört hat zu arbeiten, und heute, als ich in meine Entwickler-Konsole trat, war die API deaktiviert, aber ich habe sie nicht deaktiviert ... Es ist seltsam .. – Andranik
hatte es die gleiche Quote vor? 1000 Anfragen/Tag, ich kann mich nicht erinnern – Minas
Perfekt funktioniert –