2015-02-13 3 views
6

मैं हालांकि जब मैं कोशिश करते हैं और कहते हैं कि Android पर स्थान आधारित नक्शे की स्थापना की है: LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);स्थान सेवा। FusedLocationApi.removeLocationUpdates (mGoogleApiClient, यह); com.google.android.gms.location.LocationListener के रूप में कास्ट करने के लिए कोशिश करता है)

एंड्रॉयड स्टूडियो मुझे

के रूप में यह डाली है की कोशिश करता है
LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, (com.google.android.gms.location.LocationListener) this); 

हालांकि यह ऐप को क्रैश होने पर क्रैश करने का कारण बनता है।

मैं अपने अनुप्रयोग के लिए निम्न स्थान कोड है:

import android.content.IntentSender; 
import android.location.Location; 
import android.location.LocationListener; 
import android.support.v4.app.FragmentActivity; 
import android.os.Bundle; 
import android.util.Log; 

import com.google.android.gms.common.ConnectionResult; 
import com.google.android.gms.common.api.GoogleApiClient; 
import com.google.android.gms.location.LocationRequest; 
import com.google.android.gms.maps.CameraUpdateFactory; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.SupportMapFragment; 
import com.google.android.gms.maps.model.LatLng; 
import com.google.android.gms.maps.model.MarkerOptions; 
import com.google.android.gms.location.LocationServices; 

import java.util.List; 

import model.SiteModel; 
import model.SqlHelper; 

public class FindNearestLocationMap extends FragmentActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener { 

    private GoogleMap mMap; // Might be null if Google Play services APK is not available. 

    private GoogleApiClient mGoogleApiClient; 

    public static final String TAG = FindNearestLocationMap.class.getSimpleName(); 

    private final static int CONNECTION_FAILURE_RESOLUTION_REQUEST = 9000; 

    private LocationRequest mLocationRequest; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_find_nearest_location_map); 

     mGoogleApiClient = new GoogleApiClient.Builder(this) 
       .addConnectionCallbacks(this) 
       .addOnConnectionFailedListener(this) 
       .addApi(LocationServices.API) 
       .build(); 

     mLocationRequest = LocationRequest.create() 
       .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY) 
       .setInterval(10 * 1000)  // 10 seconds, in milliseconds 
       .setFastestInterval(1 * 1000); // 1 second, in milliseconds 

     setUpMapIfNeeded(); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
     setUpMapIfNeeded(); 
     mGoogleApiClient.connect(); 
    } 

    @Override 
    protected void onPause() { //////ERROR IS HERE//////// 
     super.onPause(); 
     if (mGoogleApiClient.isConnected()) { 
      LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, (com.google.android.gms.location.LocationListener) this); 
      mGoogleApiClient.disconnect(); 
     } 
    } 
.... 

मैं सभी कार्यान्वित तरीकों कि वर्ग की आवश्यकता है और मैं कार्यक्रम चलाने के लिए सक्षम हूँ। यह केवल तभी टूट जाता है जब मुझे किसी भी विचार पर क्या विचार करना चाहिए?

धन्यवाद।

उत्तर

16

आप LocationListener के लिए गलत आयात का उपयोग कर रहे हैं। आपके पास:

import android.location.LocationListener; 

जो विरासत LocationListener और नहीं Fused स्थान प्रदाता के श्रोता है:

import com.google.android.gms.location.LocationListener; 
संबंधित मुद्दे