我在模拟器和手机(Android 4.1 的 Nexus S)上都使用 Geocoder.getLocationFromName() 方法,但出现以下异常:
java.io.IOException: Service not Available
模拟器上出现了很多关于此的问题(示例),其中大多数都说这是有问题的模拟器的特定版本。但是,异常出现在我的 AVD(2.3 和 4.1)和手机上。
我的手机和 AVD 都有互联网连接。我的 API 版本是 16(android 4.1),但我也尝试过使用旧版本。两种 AVD 都包含 Google API。
有什么想法吗?
这是相关的代码片段:
Geocoder myGeocoder = new Geocoder(getApplicationContext(), Locale.getDefault());
List<Address> newAddresses = myGeocoder.getFromLocationName(arg0.toString(), 10);
这是我的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.asdasd" android:versionCode="6" android:versionName="1.3.1">
<uses-sdk android:minSdkVersion="16" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<application android:icon="@drawable/ic_launcher_asdasd"
android:label="@string/app_name">
<activity android:name=".AsdasdActivity" android:label="@string/app_name"
android:screenOrientation="portrait" android:windowSoftInputMode="stateHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation" />
</application>
</manifest>