2011-09-21 132 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)