2015-07-06 93 views
5

启动在我的项目后PlacePicker工作正常,但今天突然闭幕resultCode为2谷歌PlacePicker关闭立即resultCode为2

这里发射后立即是logcat的输出

07-06 16:06:36.596 1023-20519/? W/Places﹕ e.a:638: gLocReplyElement 
unsuccessful status: 1 

07-06 16:06:36.596 1023-20519/? W/Places﹕ e.a:665: gPlaceQueryResult 
unsuccessful responseCode: 26 

07-06 16:06:36.596 21086-21708/? E/PlacePicker﹕ 
PLACES_API_QUOTA_FAILED 

任何想法?错误代码是什么意思PLACES_API_QUOTA_FAILED

回答

-2

Android版Google Places API每24小时执行一次1000个请求的默认限制。如果您的应用超出限制,则应用将启动失败。

您可以在这里找到 https://developers.google.com/places/android/usage

+0

是的我知道我已经检查过开发者控制台并显示剩余的\t 1,000次请求/天 100% 因此,我认为错误代码与USAGE_LIMIT_EXCEEDED不同。 – Vivart

0

完整说明假设您已经将API启用了Android和您的API密钥在您的清单正确配置,这也可能发生,如果你缺少你SHA-1证书指纹(s)在您的开发人员控制台中。所以,请确保您有以下覆盖:

  1. 在开发者控制台确保你有你的Android应用程序生成的API密钥,并确保API密钥清单档案中的输入。它应该是嵌套在应用程序标签内的元标记。

    <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
          package="com.my.awesome.app"> 
        <application> 
         <meta-data 
          android:name="com.google.android.geo.API_KEY" 
          android:value="AIza..."/> 
         ... other stuff 
        </application> 
    </manifest> 
    
  2. 在与您的API密钥相同的页面上,在底部,您需要从清单和证书中输入软件包名称。在开发/调试模式下,您可以使用Studio提供的调试密钥库中的证书,但是,对于发行版本,您必须生成自己的密钥库。

要产生keyhash的调试模式:

keytool -exportcert -alias androiddebugkey -keystore C:\Users\{username}\.android\debug.keystore -list -v 

相同的命令用于发行版,但这个时候你需要指向你自己的密钥库。

More info here

0

here的错误代码信息......它现在可能抛出一个更好的错误,而是用来指东西是错误与API控制台中证书的指纹。

我们有类似的问题(PlacePicker立即关闭结果代码2,除了我们没有任何相关的控制台输出)。最后我们通过删除所有指纹固定我们的问题得到它的工作,然后慢慢增加安全回:

  • 页面上删除在“限制使用自己的Android应用程序”的所有条目的凭证部分API密钥谷歌API控制台
  • 在同一个关键页上,点击顶部的“重新生成密钥”(是的 - 这实际上是我们所需的@ _ @ ...你可以这样做之前再次尝试旧密钥)
  • 与测试你的应用程序中的新的关键

如果PlacePicker现在的工作,尝试在增加安全回:

https://developers.google.com/maps/documentation/android-api/signup

其他info

  • 我们的设备运行Androi d API级23(的Android 6.0)

  • 我们的应用程序/模块级别build.gradle是使用:

    compile 'com.google.android.gms:play-services-maps:9.0.0' 
    compile 'com.google.android.gms:play-services-gcm:9.0.0' 
    compile 'com.google.android.gms:play-services-location:9.0.0' 
    
  • 我们的项目级别build.gradle使用:

    classpath 'com.google.gms:google-services:3.0.0' 
    

    ```