RuntimeExecutionException: com.google.android.gms.commun.l'api.ApiException: 13: ERREUR Lieux de l'API
Je suis l'exception suivante tout en essayant de lieux de google API pour obtenir la probabilité d'endroits pour Lieu Actuel dans android.
Process: me.nabeelkottol.linkedinplaces, PID: 2995
com.google.android.gms.tasks.RuntimeExecutionException:
com.google.android.gms.common.api.ApiException: 13: ERROR
at com.google.android.gms.tasks.zzn.getResult(Unknown Source)
at
me.nabeelkottol.linkedinplaces.MainActivity$1.onComplete(MainActivity.java:71)
at com.google.android.gms.tasks.zzf.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: com.google.android.gms.common.api.ApiException: 13: ERROR
at com.google.android.gms.common.internal.zzb.zzz(Unknown Source)
at com.google.android.gms.common.internal.zzbk.zzaa(Unknown Source)
at com.google.android.gms.common.internal.zzbl.zzs(Unknown Source)
at com.google.android.gms.common.api.internal.zzs.zzc(Unknown Source)
at com.google.android.gms.common.api.internal.zzs.setResult(Unknown Source)
at com.google.android.gms.location.places.zzm.zzao(Unknown Source)
at com.google.android.gms.location.places.internal.zzx.onTransact(Unknown Source)
at android.os.Binder.execTransact(Binder.java:453)
c'est mon code:
try {
Task<PlaceLikelihoodBufferResponse> placeResult = mPlaceDetectionClient.getCurrentPlace(null);
placeResult.addOnCompleteListener(new OnCompleteListener<PlaceLikelihoodBufferResponse>() {
@Override public void onComplete(@NonNull Task<PlaceLikelihoodBufferResponse> task) {
PlaceLikelihoodBufferResponse likelyPlaces = task.getResult();
for (PlaceLikelihood placeLikelihood : likelyPlaces) {
Log.i(TAG,
String.format("Place '%s' has likelihood: %g", placeLikelihood.getPlace().getName(),
placeLikelihood.getLikelihood()));
}
likelyPlaces.release();
}
});
} catch (SecurityException e) {
e.printStackTrace();
}
Ici la ligne PlaceLikelihoodBufferResponse likelyPlaces = task.getResult();
me donne l'erreur.
J'ai créé un API key
pour l'appli android, en donnant le nom du package et SHA-1 clé pour le débogage à partir de Google API console
. Et enabled Google Places API for android
dans le libraries
section. encore sa de donner la même erreur. Ne sais pas quel est le problème avec la mise en œuvre. S'il vous plaît aider moi.
Il y a un question signalé dans github à ce sujet.
C'est mon app/build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "me.nabeelkottol.linkedinplaces"
minSdkVersion 16
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.google.android.gms:play-services-places:11.6.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
C'est mon AndroidManifest.xml
.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="me.nabeelkottol.linkedinplaces">
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="My API Key here"/>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
- pouvez-vous s'il vous plaît poster votre build.gradle fichier.
- mis à jour. pls vérifier
- avez-vous ajouté
API
clé dans votremanifest
fichier? - Ya j'ai ajouté que, dans la question. veuillez voir.
Vous devez vous connecter pour publier un commentaire.
Ajouter le code ci-dessous dans le manifeste
J'ai eu le même problème, j'ai été en mesure de résoudre le problème en permettant à Google places Api de Google console et ajouter des lieux de la clé api. Dès que vous activez les Lieux de l'api, il sera automatiquement vous demander d'ajouter la clé api, il suffit de suivre les instructions.
Puis ajouter la clé API dans votre fichier manifest.
Aussi, votre émulateur devrait avez la dernière version de Google Play Services est installé. D'autre utilisation réelle appareil Android pour les tests.
Vous pouvez voir une discussion ici sur ce problème. Pour moi le problème est survenu sur l'émulateur, mais il a été de travailler sur un dispositif physique.
OK. J'espère que vous n'avez pas besoin de gaspiller autant de temps que je l'ai fait pour trouver cette. Mais pour obtenir @Omar Ata 's réponse fonctionne, vous devez le mettre dans les deux méta-balises de données dans votre fichier manifeste. Donc, il devrait aller comme ça.
Et même après l'obtention de tout droit, il me donne erreur:
PLACES_API_ACCESS_NOT_CONFIGURED 9003
qui je me suis fixé en permettant à des Endroits SDK pour Android et des choses finalement obtenu bien.
S'il vous plaît essayez suivant l'espère il aura à travailler.
1) s'il vous plaît mettre à jour votre \sdk\extras\google\google_play_services et essayez à nouveau.
2)Si vous utilisez proguard veuillez exclus google des classes à partir d'obscurcissement de ce genre dans proguard-règles.pro:
3) Versions de jeu-les services libs doit être égal, par exemple:
4)j'ai juste eu ce problème mais résolu par la dégradation de l'gradle version de la sorte:
Vieux, ennuyeux version:
Version fixe:
et n'oubliez pas d'ajouter la suite de dépendance au niveau du projet gradle fichier.
com.android.tools.build:gradle:3.0.0
J'ai aussi eu cette exception lorsque les paramètres de localisation ont été désactivées. Avant de faire l'appel d'API assurez-vous que vous avez activé les services de localisation.
Assurez-vous d'avoir ajouté les méta-données dans votre fichier manifest.
Également vérifier d'éventuelles restrictions API dans votre API Google console. Si vous avez activé une API restriction à la API_KEY, alors il ne fonctionnera que pour l'API. Vous devez ajouter
Places SDK for Android
en vertu de l'API de restrictions.Bien dans mon cas, les deux
com.google.android.gms.version
etcom.google.android.geo.API_KEY
ont déjà été ajoutées dans le manifeste.Pourquoi cette erreur s'est produite parce que j'ai changé mon projet dans un nouveau système, le sha1 de la clé n'a pas égalé à partir de la liste.
Ce que j'ai fait pour résoudre cette erreur est:
J'ai généré de nouvelles SHA1 de mon nouveau système et a ajouté ce SHA1 en vertu de
de Lieux SDK pour Android