Geocoder の存在をテストする簡単なアクティビティを作成しました。Geocoder.isPresent() を呼び出すと、常に false が返されます。
クラス:
public class LocationTestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
Log.d( "LocationTestActivity", "Geocoder.isPresent : " + Geocoder.isPresent() );
}
}
AndroidManifest.xml には、「application」要素の前に次のエントリもあります。
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="14"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
環境: Eclipse Indigo 3.7.1、XP Professional 2002 SP 3 上の ICS 4.0 エミュレーター
理解してください:
1. Geocoder.isPresent() が常に false を返すのはなぜですか?
2. Geocoder.isPresent() が true を返すようにするには、どのような変更を加える必要がありますか?
よろしくお願いします!