2011-12-05 9 views
1

私はクラスに問題がある、実行java.lang.IllegalArgumentExceptionが:プロバイダ== nullの

12-05 23:19:18.299: E/AndroidRuntime(15460): Caused by: java.lang.IllegalArgumentException: provider==null 
12-05 23:19:18.299: E/AndroidRuntime(15460): at android.location.LocationManager.getLastKnownLocation(LocationManager.java:1017) 
12-05 23:19:18.299: E/AndroidRuntime(15460): at com.rbrlnx.lugares.editarLugar.onCreate(editarLugar.java:110) 
12-05 23:19:18.299: E/AndroidRuntime(15460): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
12-05 23:19:18.299: E/AndroidRuntime(15460): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1722) 

とコードが

 /************************************************************************************ 
    * 
    * Creamos un location manager, le establecemos unos criterios minimos para encontra 
    * 
    ***********************************************************************************/ 
    LocationManager locManager = (LocationManager)getSystemService(LOCATION_SERVICE); 
    Criteria criterio = new Criteria(); 
    criterio.setAccuracy(Criteria.ACCURACY_COARSE); 
    String mejorProvider = locManager.getBestProvider(criterio, true); 

     //Obtenemos la última posición conocida 
     final Location loc = locManager.getLastKnownLocation(mejorProvider); 
     latitud = loc.getLatitude(); 
     longitud= loc.getLongitude(); 

     //Me centro en el mapa 
      yo = new GeoPoint(
     (int)(latitud*1000000), 
     (int)(longitud*1000000)); 

のみ設定されたときに猫がこのエラーを返すログ最高のプロバイダと最後の知っている位置を取得するが、それはクラッシュ、誰もがなぜ知っている? mejorProvider

String mejorProvider = locManager.getBestProvider(criterio, true); 

結果がnullであること、この行ので

答えて

5

それはです。その原因は何ですか?伝えるのは難しい。入力したプロバイダが存在しないか、マニフェストでユーザーの場所を要求するアクセス許可を有効にしていない可能性があります。

関連する問題