Android中的地方无法在发布APK中显示建议

时间:2014-09-12 14:28:02

标签: android google-api google-places-api

当他在搜索栏中搜索某些内容时,我正在使用商家信息为用户提供建议。

我正在使用的代码如下:

    // Obtain browser key from https://code.google.com/apis/console
    String key = "key=" + context.getString(R.string.google_maps_key);

    String input="";

    try {
        input = "input=" + URLEncoder.encode(place[0], "utf-8");
    } catch (UnsupportedEncodingException e) {
        DLog.d(e);
    }

    // place type to be searched
    String types = "types=geocode";

    // Sensor enabled
    String sensor = "sensor=false";

    String language = "language=it";

    // Building the parameters to the web service
    String parameters = input+"&"+types+"&"+sensor+"&"+key + "&" + language;

    // Output format
    String output = "json";

    // Building the url to the web service
    String url = "https://maps.googleapis.com/maps/api/place/queryautocomplete/"+output+"?"+parameters;
    try{
        // Fetching the data from we service
        data = downloadUrl(url);

还有其他代码,但我认为这是必需的部分。但是,当我从Android Studio启动它时,它的工作效果非常好,但是当我安装签名的APK时,它完全不起作用。

我在地图上遇到了同样的问题(一直是空白的)但是在将我的SHA1密钥和包名称放在Google Console API中后,它运行正常。但地方仍然没有。

知道它的工作原理吗?谢谢:))

1 个答案:

答案 0 :(得分:0)

原因是您需要在Google控制台中同时添加调试密钥的SHA1和发布密钥。

我用过:

keytool -list -v -keystore /Users/fil/.android/debug.keystore

从android_sdk的平台工具方面(虽然,我在Mac中,在Linux中可能会有所不同)来获取调试密钥。然后,同样但有释放键。

之后,我在API& amp;中插入了SHA1;包作为“Android应用程序的密钥”。 Auth foulder。

我还专门为地方创建了一个服务器密钥。