hmx-17の日記

技術ネタとかプライベート

iアプリエミュレータのGPSでgetLocationするとNative Error

  private String getLocation() {
    String str = "error";
    try {
         LocationProvider lp = LocationProvider.getLocationProvider();
         Location loc = lp.getLocation();
         str = "Lat: " +
               loc.getLatitudeString(Location.PREFIX_SIGN, LocationProvider.UNIT_DMS)
               + "Lon: " + 
               loc.getLongitudeString(Location.PREFIX_SIGN, LocationProvider.UNIT_DMS);
    } catch (LocationException le) {
         le.printStackTrace();
         System.out.println("LocationException Status Code: " + le.getStatus());
    }
    return str;
  }

実行結果:

com.docomostar.device.location.LocationException: Native error
    at com.docomostar.device.location.LocationProvider.getLocations(Unknown Source)
    at com.docomostar.device.location.LocationProvider.getLocation(Unknown Source)
LocationException Status Code: 0 

GPSアプリを書いていて、こんなコードでも例外でタヒるので大変疑問に思っていたのだが、
どうやらネイティブデータ編集→位置情報で位置情報を自力で追加しないとNativeErrorとか出てくる。
getStatusしてもUNDEFINEDが帰ってくるしなんだこれと思ってたら…
これ、わかりやすいところに書いておいてください....