2011-09-21 53 views
4

有誰kwow爲什麼還是解決了這個問題:提供 「GPS」 未知異常,而試圖removeTestProvider

十一月9日至21日:49:45.007:WARN/System.err的(22711):java.lang中.IllegalArgumentException:Provider「gps」unknown 09-21 11:49:45.007:WARN/System.err(22711):at android.os.Parcel.readException(Parcel.java:1251) 09-21 11:49: 45.007:WARN/System.err(22711):at android.os.Parcel.readException(Parcel.java:1235) 09-21 11:49:45.007:WARN/System.err(22711):at android.location。 ILocationManager $ Stub $ Proxy.removeTestProvider(ILocationManager.java:889) 09-21 11:49:45.007:WARN/System.err(22711):at和at roid.location.LocationManager.removeTestProvider(LocationManager.java:1008)

answer沒有解決,因爲我甚至不進入的方法已過時。嘗試刪除提供程序時首先失敗。

這是一個bug

編輯:

在我的代碼檢查列表中的供應商 「GPS」 的存在:

final String TEST_PROVIDER = LocationManager.GPS_PROVIDER; // "gps" 
if (mLocationManager.getProvider(TEST_PROVIDER) != null) { 
      mLocationManager.removeTestProvider(TEST_PROVIDER); 
} 

奇怪的是,它前的工作。

+0

看起來你試圖刪除'gps'提供商,當它不在你的位置提供商列表中。 –

+0

但是,如果我在'LocationManager.addTestProvider()'處刪除此行並在'LocationManager.setTestProviderEnabled()'後刪除此行,我會得到相同的錯誤。此外,在刪除之前,我有一個if語句來檢查它是否在列表中,並且它不返回null! – kaneda

回答

1

我覺得removeTestProvider(TEST_PROVIDER)只能你叫addTestProvider(TEST_PROVIDER)