RuntimeExecutionException:com.google.android.gms.common.api.ApiException:13:错误Places API [英] RuntimeExecutionException: com.google.android.gms.common.api.ApiException: 13: ERROR Places API

查看:455
本文介绍了RuntimeExecutionException:com.google.android.gms.common.api.ApiException:13:错误Places API的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在尝试使用Google Places API以获取当前位置在Android中。

 过程:me.nabeelkottol.linkedinplaces,PID:2995 
com .google.android.gms.tasks.RuntimeExecutionException:
com.google.android.gms.common.api.ApiException:13:错误
,位于com.google.android.gms.tasks.zzn.getResult (未知来源)
at
me.nabeelkottol.linkedinplaces.MainActivity $ 1.onComplete(MainActivity.java:71)
at com.google.android.gms.tasks.zzf.run(未知来源)
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)
在com.android.internal.os.ZygoteInit $ MethodAn dArgsCaller.run(ZygoteInit.java:726)
在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
引起:com.google.android.gms.common。 api.ApiException:13:错误
在com.google.android.gms.common.internal.zzb.zzz(未知源)
在com.google.android.gms.common.internal.zzbk。 zzaa(未知来源)
在com.google.android.gms.common.internal.zzbl.zzs(未知来源)
在com.google.android.gms.common.api.internal.zzs。 zzc(未知来源)
在com.google.android.gms.common.api.internal.zzs.setResult(未知来源)
在com.google.android.gms.location.places.zzm。 zzao(未知来源)
在com.google.android.gms.location.places.internal.zzx.onTransact(未知来源)
在android.os.Binder.execTransact(Binder.java:453)

这是我的代码:

  try {
任务< PlaceLikelihoodBufferResponse> placeResult = mPlaceDetectionClient.getCurrentPlace(null);
placeResult.addOnCompleteListener(new OnCompleteListener< PlaceLikelihoodBufferResponse>(){
@Override public void onComplete(@NonNull Task< PlaceLikelihoodBufferResponse>任务){

PlaceLikelihoodBufferResponse likelyPlaces = task.getResult );
for(PlaceLikelihood placeLikelihood:likelyPlaces){
Log.i(TAG,
String.format(Place'%s'有可能性:%g,placeLikelihood.getPlace() .getName(),
placeLikelihood.getLikelihood()));
}
likelyPlaces.release();


});
} catch(SecurityException e){
e.printStackTrace();



$ b $ p
$ b这里行 PlaceLikelihoodBufferResponse likelyPlaces = task.getResult( ); 给了我错误信息。



我创建了一个 API键 Android应用程序通过从 Google API控制台提供程序包名称和SHA-1密钥进行调试。并且部分中为android 启用了Google Places API。它仍然给出同样的错误。不知道实施有什么问题。请帮助我。



问题在github上报告过。



这是我的 app / build.gradle
$ p $ apply plugin:'com.android.application'

android {
compileSdkVersion 26
defaultConfig {
applicationIdme.nabeelkottol.linkedinplaces
minSdkVersion 16
targetSdkVersion 26
versionCode 1
versionName1.0
testInstrumentationRunnerandroid.support.test.runner.AndroidJUnitRunner
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt') ,'proguard-rules.pro'
}
}
}

依赖项{
implementation fileTree(dir:'libs',include:[' *。罐'])
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'
}

这是我的 AndroidManifest.xml

 <?xml version =1.0encoding =utf-8?> 
< manifest xmlns:android =http://schemas.android.com/apk/res/android
package =me.nabeelkottol.linkedinplaces>

<使用权限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 =我的API密钥在这里/>

< activity android:name =。MainActivity>
< intent-filter>

< category android:name =android.intent.category.LAUNCHER/>
< / intent-filter>
< / activity>
< / application>

< / manifest>


解决方案

在清单中添加以下代码

 <元数据
android:name =com.google.android.gms.version
android:value =@ integer / google_play_services_version/>


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" />

这篇关于RuntimeExecutionException:com.google.android.gms.common.api.ApiException:13:错误Places API的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆