我有“网络”位置提供商,但得到:提供商“网络”未知,为啥?
Posted
技术标签:
【中文标题】我有“网络”位置提供商,但得到:提供商“网络”未知,为啥?【英文标题】:I have "network" location provider but got : Provider "network" unknown, why?我有“网络”位置提供商,但得到:提供商“网络”未知,为什么? 【发布时间】:2013-11-01 11:42:22 【问题描述】:我有一个androidTestCase
,我在装有 Android 4.1.2 操作系统的真实设备上运行我的测试。
public class MyLocationTest extends AndroidTestCase
private String TEST_PROVIDER = LocationManager.NETWORK_PROVIDER;
@Override
public void setUp() throws Exception
super.setUp();
mLocationManager = (LocationManager) getContext()
.getSystemService(Context.LOCATION_SERVICE);
//I check what are the providers available,
//the log shows me: network, gps, passive
List<String> providers = mLocationManager.getAllProviders();
for(int i=0; i<providers.size(); i++)
Log.i("DEBUG", "Provider: "+providers.get(i));
//The following code raise Exception: java.lang.IllegalArgumentException: Provider "network" unknown
mLocationManager.setTestProviderEnabled(TEST_PROVIDER, true);
mLocationManager.setTestProviderStatus(TEST_PROVIDER, LocationProvider.AVAILABLE, null, System.currentTimeMillis());
在上述测试用例的setUp()
阶段,我检查了可用的提供程序,并在日志中获得了“network”。然后,我调用 setTestProviderEnabled(TEST_PROVIDER, true)
,但我得到了 Exception: java.lang.IllegalArgumentException: Provider "network" unknown
我不明白为什么?我有“网络”提供商,但我得到了这个例外......
顺便说一句,我在设备上启用了“允许模拟位置”,还连接了 wifi 网络。
【问题讨论】:
【参考方案1】:您需要创建一个模拟位置提供程序并将其添加到活动提供程序。
mLocationManager.addTestProvider(TEST_PROVIDER, false,
false, false, false, false, true, true, 0, 5);
// your code
mLocationManager.setTestProviderEnabled(TEST_PROVIDER, true);
希望这会有所帮助。
【讨论】:
以上是关于我有“网络”位置提供商,但得到:提供商“网络”未知,为啥?的主要内容,如果未能解决你的问题,请参考以下文章
CHEF 服务器--错误:网络错误:getaddrinfo:提供节点名或服务名,或未知