我导入了一个地图示例并运行了应用程序,在运行应用程序时,它显示了一个白色的地图屏幕。
我在Locat发现了一个警告
W/BroadcastQueue(306): Permission Denial: receiving Intent { act=com.google.android.maps.api.action.TOKEN_RESPONSE flg=0x10 pkg=com.example.mapdemo (has extras) } to ProcessRecord{42554900 5306:com.example.mapdemo/u0a216} (pid=5306, uid=10216) requires com.example.mapdemo.permission.MAPS_RECEIVE due to sender com.google.android.apps.maps (uid 10031)
我彻底检查了清单,无法追查任何问题。请在下面找到我的清单权限。
<permission
android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE"/>
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<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_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
请告诉我可能的解决方案
更新:我能摆脱那个警告。错误是我正在使用v1 api密钥。 但是我仍然无法得到地图。显示白色屏幕,没有任何警告或错误。
问候,
沙
答案 0 :(得分:7)
确保你的清单
<permission
android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE"/>
还要确保在maps api控制台中设置了密钥(调试或发布)。
答案 1 :(得分:1)
@Gabe Sechan
告知此权限现在完全没必要了。 Google Play服务3.1.59的最新更新使其毫无用处。因此,可以将其删除。
所以请务必更新最新的Google Play服务。