Je souhaite afficher le sélecteur de lieux afin que l'utilisateur puisse choisir l'emplacement de son choix. Mais l'activité enfant du sélecteur de place se ferme automatiquement après le lancement. J'ai vérifié la clé d'API plusieurs fois et d'autres autorisations, tout est correct. Voici tout le code. S'il vous plaît aider!
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();
}
}
});
Et voici le fichier menifest.
<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"/>
Après beaucoup de débogage, je l'ai résolu moi-même. Le problème était le nom du paquet..Android studio gère le nom du paquet lui-même lors de la création du projet. Je change le nom du paquet dans le manifeste et cela fonctionnait parfaitement. mais lorsque j'obtiens la clé d'API de la console des développeurs Google pour le sélecteur de lieu, le sélecteur de lieu se ferme automatiquement sans un seul caractère d'erreur.
Ensuite, je modifie le nom du paquet en allant dans -> Paramètres du module -> Flavors et modifie l'ID de l'application pour résoudre le problème.
Veuillez vérifier le logcat de votre application pour le message 'PLACES_API_ACCESS_NOT_CONFIGURED'. Si tel est le cas, l'activation de l'API Google Adresses pour Android dans votre console de développeur Google pour ce projet devrait résoudre votre problème.
Assurez-vous que l'API Google Adresses est activée pour la clé d'API que vous utilisez dans la console de l'API Google. Pour moi, j'utilise la même clé API que celle utilisée pour les cartes. Je viens d'activer la même clé pour les lieux api aussi. Cela a résolu mon problème. Utilisez ce lien pour accéder à la console Google: https://console.developers.google.com/flows/enableapi?apiid=placesandroid&reusekey=true
Problème résolu en changeant simplement la clé API
Vous pouvez créer une nouvelle clé à partir de ici
Activer les deux endroits API ainsi que Places sdk
Au lieu d'activer l'API d'espaces, activez le SDK d'espaces pour Android. Travaillé pour moi. Bonne chance :)