2014-09-12 39 views
1

我在使用地方信息爲用戶搜索搜索欄中的內容時獲取建議。Android中的地方未顯示發佈中的建議APK

我正在使用的代碼如下:

// 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後,它可以正常工作。但地方仍然沒有。

任何想法它爲什麼這樣工作的原因?謝謝:)

回答

0

原因是因爲您需要在Google控制檯中添加調試密鑰的SHA1和釋放密鑰。

我用:

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

從平臺工具foulder的android_sdk的(雖然,我在我的Mac,Linux中它可能是不同的),以獲得調試的關鍵。然後,與釋放鍵一樣。

之後,我將兩個SHA1;程序包作爲「Android應用程序的密鑰」插入到API的&驗證碼中。

我還特別爲地點創建了服務器密鑰。

+0

我有一個使用地方Web服務的應用程序。我有一個服務器密鑰。但在發佈apk上,我從市場上下載(alpha測試),它根本不工作。如果我使用服務器密鑰,那麼我看不到添加SHA1密鑰的地方。 ??任何想法如何解決這個問題? – vicky 2016-01-24 02:44:44