Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

RuntimeExecutionException: com.google.android.gms.common.api.ApiException: 13: ERROR Places API

I am getting the following exception while trying out google places API to get likelihood places for Current Place in 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) 

this is my 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();     } 

Here the line PlaceLikelihoodBufferResponse likelyPlaces = task.getResult(); is giving me the error.

I have created an API key for the android app by giving the package name and SHA-1 key for debug from Google API console. And enabled Google Places API for android in the libraries section. still its giving the same error. Dont know what is wrong with the implementation. Please help me.

There is an issue reported in github regarding this.

This is my 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' } 

This is my 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> 
like image 528
Nabeel K Avatar asked Nov 14 '17 06:11

Nabeel K


1 Answers

Add the below code in manifest

 <meta-data             android:name="com.google.android.gms.version"             android:value="@integer/google_play_services_version" /> 
like image 139
Umar Ata Avatar answered Sep 22 '22 22:09

Umar Ata