Android上的谷歌地图不适用于应用程序,但演示很好

Hah*_*ahn 9 android google-maps

我无法让谷歌地图在我的应用上运行.

我看到一个空白的屏幕; 没有网格显示,只有谷歌徽标和+/-缩放按钮.

我做了什么:

  • 我启用了"Google Maps Android API v2"API
  • 我已将我的项目和演示项目添加到Google控制台上的API凭据列表中
  • 我还添加了Internet,location,com.google.android.providers.gsf.permission.READ_GSERVICES所需的权限.
  • 甚至添加了"MAPS_RECEIVE"权限,因为有些帖子建议
  • 还添加了'元数据'google_play_services_version

由于演示工作正常,我将MultiMapDemoActivity及其文件复制到我的项目中并尝试打开地图,但无济于事.

问题可能与问题有关.然而,似乎他们根本无法获得地图.

这是我注意到的有趣的一点,我通常得到这个:

10-02 12:29:20.376: D/REQUEST(5826): Connection opened to:https://clients4.google.com/glm/mmap/api
10-02 12:29:20.376: D/REQUEST(5826): Open Connection
Run Code Online (Sandbox Code Playgroud)

其次是:

10-02 12:21:45.361: D/REQUEST(5826): DRD(80): 62|132
10-02 12:21:45.361: D/REQUEST(5826): Close
10-02 12:21:45.361: D/REQUEST(5826): Error processing: com.google.maps.api.android.lib6.b.d@42caa7b8 not retrying
10-02 12:21:45.361: D/REQUEST(5826): Retrying: com.google.maps.api.android.lib6.gmm6.c.a@4296a530
Run Code Online (Sandbox Code Playgroud)
  • 另外,不确定这是否相关,但是一旦我点击打开地图,或者在打开地图后点击地图并显示空白视图,我就会看到:

      10-02 13:03:32.978: E/DatabaseUtils(15468): Writing exception to parcel
      10-02 13:03:32.978:/DatabaseUtils(15468): java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this   
      requires android.permission.INTERACT_ACROSS_USERS_FULL
    
    Run Code Online (Sandbox Code Playgroud)

编辑#1

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)

编辑#2 另外,声明的包名是com.ABC(清单); 而我的项目的活动具有com.AB的结构.

我已经更新了我的项目结构以匹配清单,但我仍然看到与以前相同的错误,没有任何变化.我真的在海上,因为我无法理解这里可能出现的问题.


一些帮助解决这个将不胜感激,谢谢!

Hah*_*ahn 3

事实证明我在这里读过关于这个问题的n-1个问题。最后,经过不断的到处搜索,我偶然发现了@Jack 的答案。

基本上这一行:"HttpsURLConnection.setDefaultSSLSocketFactory(...)"是我的代码中的罪魁祸首。我将其注释掉,一切正常。

注意:我还没有尝试保留代码行并修改它以使地图正常工作。如果我需要/这样做,我会发表评论。