2014-05-07 139 views
0

我的Android應用程序有時會拋出該異常:java.lang.IllegalArgumentException異常:供應商=網絡

java.lang.IllegalArgumentException: provider=network 
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2517) 
at android.app.ActivityThread.access$1900(ActivityThread.java:135) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1302) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:4784) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:845) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.IllegalArgumentException: provider=network 
at android.os.Parcel.readException(Parcel.java:1429) 
at android.os.Parcel.readException(Parcel.java:1379) 
at android.location.ILocationManager$Stub$Proxy.requestLocationUpdates(ILocationManager.java:657) 
at android.location.LocationManager._requestLocationUpdates(LocationManager.java:686) 
at android.location.LocationManager.requestLocationUpdates(LocationManager.java:508) 

在這一行:

mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, mNetlocListener); 

我做了什麼錯?

我使用網絡枚舉提供程序。

+0

把你的代碼在這裏。 –

+0

哪個代碼?它無法註冊到locationProvider。全部是默認實現 –

+0

你得到這個崩潰的代碼。 –

回答

2

首先檢查LocationManagers NETWORK_PROVIDER是否啓用

if (mLocationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) { 
     mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0,mNetlocListener); 
    } 
+0

它可能會幫助。但我不能用舊的(!)代碼重現異常。你會推薦什麼? –

+0

如果它幫助你至少給+1。 Anyany你可以使用LocationManager.getBestProvider()來代替 –

相關問題