我有一个应用程序,我在第一页获取当前位置。在印度,应用程序工作正常并获得当前位置。当我们在美国运行应用程序时,应用程序在第一页本身崩溃并抛出IllegalArgumentException。
答案 0 :(得分:2)
手机没有启用任何提供程序来检测位置,即它既没有连接到GPS
也没有WI-FI
,在这种情况下,提供程序被传递为null。假设您向provider
函数提供requestLocationUpdates()
参数,找到最佳提供者,如果找不到任何参数,将返回null。
我会先检查是否有任何提供程序已启用,然后再继续处理此问题。为避免将null作为提供者传递,请在调用位置更新之前检查提供者是否为null。
if (provider != null) {
requestLocationUpdates()
} else {
// alert user asking him to enable one of the providers.
}
你就是这样做的。
HTH。