2017-01-22 15 views
0

私は、ユーザーの場所を使用するアプリケーションを構築しています。 時々、ユーザーがGPSをオフにしたり、アプリケーションにユーザーの場所を使用する権限が与えられていない場合、その場合、場所変数のNULL値のためにアプリケーションがクラッシュします。 (0:0 &経度緯度である) AndroidのLocationの初期値を設定します。

私はこの

Location _location = new Location(_locationManager.GPS_PROVIDER); 

を試みたが、_locationManager自体nullである

は私が場所のデフォルト値を設定したいです。

場所の初期値はどのように設定できますか?使用をフェッチダイナミック場所の

Location defaultLocation = new Location("");//provider name is unecessary 
defaultLocation .setLatitude(0.0d);//your lat long 
defaultLocation .setLongitude(0.0d); 

おかげ

答えて

1

はこれを試してMyLocationlistener

locationManager = (LocationManager) context 
      .getSystemService(Context.LOCATION_SERVICE); 


    Criteria locationCritera = new Criteria(); 
    String providerName = locationManager.getBestProvider(locationCritera, 
      true); 
    if(providerName!=null) 
     location = locationManager.getLastKnownLocation(providerName); 

    locationListener = new MyLocationListener(); 

    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 
      0, locationListener); 

はあなたlocationオブジェクト

private class MyLocationListener implements LocationListener { 

    public void onLocationChanged(Location loc) { 

     if (loc != null) { 
      location = loc; 

     } 
    } 

    public void onProviderDisabled(String provider) { 

    } 

    public void onProviderEnabled(String provider) { 
    } 

    public void onStatusChanged(String provider, int status, Bundle extras) { 
    } 
} 
を設定しました
関連する問題