2012-02-01 28 views
7

Bu hatayı, oluşturduğum bir android uygulamasında kullanıcı günlüklerinden aldım. Bu hatayı bugüne kadar çoğalayamıyorum. Herhangi bir yardım son derece takdir edilecektir.Çalışma Zamanı Hatası - java.lang.IllegalArgumentException: provider = gps

hatadır:

java.lang.IllegalArgumentException: provider=gps 
at android.os.Parcel.readException(Parcel.java:1326) 
at android.os.Parcel.readException(Parcel.java:1276) 
at android.location.ILocationManager$Stub$Proxy.requestLocationUpdates(ILocationManager.java:646) 
at android.location.LocationManager._requestLocationUpdates(LocationManager.java:582) 
at android.location.LocationManager.requestLocationUpdates(LocationManager.java:446) 
at com.myApp.service.DeviceManager$7.handleMessage(DeviceManager.java:470) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:130) 
at android.app.ActivityThread.main(ActivityThread.java:3835) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:507) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:883) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:641) 
at dalvik.system.NativeStart.main(Native Method) 

devicemanager konumu için ifade eder: kuruluşu boş veya yok

private final Handler uihandler = new Handler() { 

@Override 
     public void handleMessage(Message msg) { 
      switch (msg.what) { 
       case MSG_TOAST: 
        Toast.makeText(DeviceManager.this, msg.arg1, Toast.LENGTH_SHORT).show(); 
        break; 

       case MSG_ENABLE_LOCATION: 
        mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60000, 1,DeviceManager.this); 
        mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 
          60000, 1, DeviceManager.this); 
        break; 

       case MSG_DISABLE_LOCATION: 
        mLocationManager.removeUpdates(DeviceManager.this); 
        break; 

       case MSG_STOP_SELF: 
        break; 
      } 
     } 

    }; 

cevap

7

Çözümü yollamayı unuttum. Sorun, uygulamayı bir konum güncellemesinin ortasında kapatan bir kullanıcı gücüne bağlıydı. Bununla ilgili yapabileceğimiz bir şey yok!

+0

mLocationManager.remove OnPause'daki güncellemeler çalışmıyor mu? Uygulamaları kapatırken işler asla çökmemelidir ... –

1

IllegalArgumentException ise. GPS sağlayıcısının etkin olduğundan emin olun.

Bu tutorial kontrol ettiniz mi? Şu giriş manifest dosyasını eklediniz mi?

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
+1

Evet, teşekkürler. Birinde hem ağ hem de GPS izinlerini kapsadığı için ACCESS_FINE_LOCATION adresini ekledim. "GPS sağlayıcısının etkin olduğundan emin" ile ne demek istiyorsun? Teşekkürler! –

+0

Etkin değilse, telefonunuzda GPS'yi etkinleştirin. – kosa

+0

Ayrıca, LocationManager.NETWORK_PROVIDER etkin olduğundan, GPS özelliği olmadan çalışabileceğine eminim. Cevap için teşekkürler. Buna neden olabilecek başka bir fikrin var mı? Hatamızı kullanıcılarımızdan birinden aldım, bu yüzden neye sebep olabileceğini anlamaya çalışıyorum. –

İlgili konular