2016-11-10 10 views
1

私はGPSの状態の変化を聞くしようとしている...私は、次のしている:GPSステータスリスナー

LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 

    if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { 
     return; 
    } 

    lm.addGpsStatusListener(new android.location.GpsStatus.Listener() { 

     public void onGpsStatusChanged(int event) { 
      locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
      switch (event) { 
       case GPS_EVENT_STARTED: 
        if((alertDialog != null) && (alertDialog.isShowing())){ 
         alertDialog.dismiss(); 
        } 
        contador=0; 
        darHandle(); 
        break; 
       case GPS_EVENT_STOPPED: 
        if(mProgressDialog!=null && mProgressDialog.isShowing()) { 
         mProgressDialog.dismiss(); 
        } 
        contador=0; 
        break; 
      } 
     } 
    }); 

それは私のモトGの第一にうまく動作しますが、それは廃止され、機能しません。一部のデバイスでは... ...私が使用する方法を把握しようとしている

「onProviderEnabled /無効」というシナリオでは...私は多くのコード例を試してみましたが、それは働いて取得していない

私は今これを試しています:

LocationListener locationListenerGps = new LocationListener() { 
     public void onLocationChanged(Location location) { 

     } 
     public void onProviderDisabled(String provider) {} 
     public void onProviderEnabled(String provider) {} 
     public void onStatusChanged(String provider, int status, Bundle extras) {} 
    }; 

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

    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 12000, 0, locationListenerGps); 

しかし、最後の行に、それは言う:

方法解決できません 'requestLocationUpdatesを(java.lang.Stringで、int型、int型、com.google.android.gms.location.LocationListener')

IをAndroid/Javaプログラミングにかなり新しい、誰でも私を助けることができますか?

答えて

0

これはちょうど私に起こった。

あなたの問題は、インポートされたリスナーのクラスでなければならないと思います。

2種類があります

1は、あなたが使用していること:com.google.android.gms.location.LocationListener

と:あなたが第二いずれかに属している使用しているandroid.location.LocationListener

これらの方法は。 それを使って、うまくいくべきです。

Androidでは通常このようなことが起こりますので、注意してください。異なるAPIには多くのクラスがあり、その中には名前を繰り返したり、組み合わせを試す必要があります。