我正在尝试实现在Android Hello Views示例中定义的MapView示例,但现在我遇到了这个错误:
Failed to find provider info for com.google.settings
知道为什么会这样吗?
答案 0 :(得分:14)
默认情况下,MapView示例不会设置API密钥。所以你必须设置它。这是一步一步:
从您的系统中获取MD5
%JAVA_HOME%\bin\keytool.exe -list -alias androiddebugkey -keystore "%userprofile%\.android\debug.keystore" -storepass android -keypass android
通过将生成的MD5粘贴到此页面来获取API密钥:
http://code.google.com/android/maps-api-signup.html
将生成的API密钥粘贴到 {your_project_root} /res/layout/map.xml
<com.google.android.maps.MapView
android:id="@+id/myMapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:enabled="true"
android:clickable="true"
android:apiKey="paste_generated_api_key_here"
/>
在 AndroidManifest.xml 中,确保您的application
标记中包含以下标记:
<uses-library android:name="com.google.android.maps" />
以及您manifest
标记中的以下标记:
<uses-permission android:name="android.permission.INTERNET" />
刷新项目并运行
注意:
http://d.android.com/guide/tutorials/views/hello-mapview.html
的详细信息答案 1 :(得分:3)
如果您确定拥有INTERNET
权限,并且已正确生成API密钥,并且已将其放入android:apiKey
,并且仍然发生相同的错误,则还需要检查以下内容:您的应用程序是否使用与Maps API密钥相同的证书进行签名?
Android构建工具使用不同的证书进行调试构建和发布构建。如果您已为发布证书(您在“导出Android应用程序”向导中使用的生成.apk)生成了MD5校验和和API密钥,则它将无法在调试版本中运行 - 反之亦然。
您可以在Eclipse的Preferences&gt;中找到调试密钥库的位置。 Android&gt;构建页面。您可以使用与发布证书相同的方式为其生成MD5校验和和API密钥。 debug keystore的默认密码是“android”。
答案 2 :(得分:2)
还有一件事需要检查:
我刚遇到这个问题(或者更确切地说,我的问题是地图没有出现)。我浏览了地图视图教程并错误地在应用程序标记内粘贴了“uses-permission”标记。它需要直接位于清单标记下,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<manifest [...]>
<uses-sdk [...] />
<uses-permission android:name="android.permission.INTERNET" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<uses-library android:name="com.google.android.maps" />
[...]
</application>
</manifest>
一个非常简单的错误,但我花了一段时间才找到。希望这有助于其他人!
答案 3 :(得分:0)
只需查看Hello, MapView :
确保已包含在AndroidManifest.xml行中以获取权限:
<uses-permission android:name="android.permission.INTERNET" />
另外,你有Google Map API Key吗? 将它放入MapView布局定义:
<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="Your Maps API Key"
/>
其他提及错误: GGroups - MapView showing as black screen after upgrade to 1.5
答案 4 :(得分:0)
我只在模拟器上遇到过这个问题,我发现解决此错误的唯一方法是重启模拟器。