2

最初のページで現在地を取得しているアプリケーションがあります。インドでは、アプリケーションは正常に機能しており、現在地を取得しています。米国でアプリケーションを実行すると、アプリケーションが最初のページ自体でクラッシュし、IllegalArgumentExceptionがスローされます。 ここに例外の詳細を含めます。

4

1 に答える 1

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。

于 2011-09-22T09:44:17.783 に答える