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>
Add the below code in manifest
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With