在 android 中的 LocationManager 处显示 java.lang.illegalargumentException

发布于 2024-12-06 02:22:20 字数 171 浏览 3 评论 0原文

我有一个应用程序,我在第一页获取当前位置。在印度,应用程序运行良好并获取当前位置。当我们在美国运行应用程序时,应用程序在第一页本身崩溃并抛出 IllegalArgumentException。 我在此处包含异常详细信息。

I have an application in which I am getting current location at the first page. In India Application is working fine and getting current location. When we run the application in US, application is getting crashed at the first page itself and throwing IllegalArgumentException.
I am including the exception details here.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我还不会笑 2024-12-13 02:22:20

手机没有启用任何提供商来检测位置,即它既没有连接到 GPS 也没有连接到 WI-FI,在这种情况下,提供商将作为 null 传递。假设您通过查找最佳提供程序向 requestLocationUpdates() 函数提供 provider 参数,如果找不到任何提供程序,该提供程序将返回 null。

在进一步处理此问题之前,我将首先检查是否启用了任何提供程序。为了避免将 null 作为提供程序传递,请在调用位置更新之前检查提供程序是否为 null。

if (provider != null) {
      requestLocationUpdates()
} else {
      // alert user asking him to enable one of the providers.
}

这就是你的做法。

HTH。

The phone doesn't have any provider enabled to detect the location, i.e it is neither connected to GPS nor WI-FI, in which case the provider is being passed as null. This is assuming that you are providing provider argument to requestLocationUpdates() function by, finding the best provider, which will return null, if it can't find any.

I would first check if any provider is enabled, before proceeding any further in to this matter. To avoid passing null as a provider, check if the provider is null before calling for location update.

if (provider != null) {
      requestLocationUpdates()
} else {
      // alert user asking him to enable one of the providers.
}

This is how you do it.

HTH.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文